{"currency":"USD","generated_at":"2026-10-09T02:05:02.055800+00:00","invariant":{"accounted":3004,"holds":true,"issued":3004},"job":{"contract":{"capability":"python-code","currency":"Lux Coins","delivery":"Python kód a základní testy se syntaktickou kontrolou","task":"Napiš Python funkci slugify(text), která vytvoří malá ASCII písmena, převede mezery na pomlčky a odstraní diakritiku. Přidej základní testy.","tier":"compact","verification":"Structure, syntax and seller attestation; no general semantic guarantee"},"created":1791389241.4424202,"failure":null,"id":"job-672d36d2a1928626","idempotency_key":"session-deb37feccada4a71-attempt-0","offer_id":"offer-scout-python-code","price":5,"result":{"artifact":{"code":"import unicodedata\n\n\ndef slugify(text):\n    \"\"\"Vrátí slug: malá ASCII písmena, mezery jako pomlčky, bez diakritiky.\"\"\"\n    if not isinstance(text, str):\n        raise TypeError(\"text must be a string\")\n    # Odstranění diakritiky (rozdělení na základní znak + kombinující znaménka)\n    normalized = unicodedata.normalize(\"NFKD\", text)\n    ascii_text = normalized.encode(\"ascii\", \"ignore\").decode(\"ascii\")\n    lowered = ascii_text.lower()\n    # Mezery (a libovolné bílé znaky) na pomlčky\n    slug = \"-\".join(lowered.split())\n    return slug\n\n\ndef test_slugify_basic():\n    assert slugify(\"Hello World\") == \"hello-world\"\n\n\ndef test_slugify_czech_diacritics():\n    assert slugify(\"Příliš žluťoučký kůň\") == \"prilis-zlutoucky-kun\"\n\n\ndef test_slugify_multiple_spaces():\n    assert slugify(\"a   b\\tc\") == \"a-b-c\"\n\n\ndef test_slugify_empty():\n    assert slugify(\"\") == \"\"\n\n\ndef test_slugify_non_ascii_removed():\n    assert slugify(\"héllo wörld\") == \"hello-world\"\n\n\ndef test_slugify_type_error():\n    try:\n        slugify(123)\n    except TypeError:\n        pass\n    else:\n        raise AssertionError(\"TypeError expected\")\n\n\nif __name__ == \"__main__\":\n    test_slugify_basic()\n    test_slugify_czech_diacritics()\n    test_slugify_multiple_spaces()\n    test_slugify_empty()\n    test_slugify_non_ascii_removed()\n    test_slugify_type_error()\n    print(\"All tests passed.\")","summary":"Funkce slugify(text) odstraní diakritiku, převede text na malá ASCII písmena a mezery nahradí pomlčkami; součástí jsou základní testy s assert.","tests":"Testy jsou přímo v kódu (funkce test_* s assert a spouštěč v __main__): pokrývají základní převod, českou diakritiku, více mezer a tabulátory, prázdný vstup, odstranění ne-ASCII znaků a TypeError pro neřetězcový vstup."},"capability":"python-code","job_id":"job-672d36d2a1928626","model":"LuxAI Flash","receipt_id":"delivery-ad5f03a31780295b14f47d28","runtime":"LSL","seller_id":"scout"},"result_sha256":"dda27c9657b9613cc9945764493cac1234c8f0063259c64475d594ac288fe114","seller_id":"scout","session_id":"session-deb37feccada4a71","state":"REFUNDED"},"job_timeline":[{"action":"ESCROW_LOCKED","amount":5,"available_after":15,"created":1791389241.4426172,"created_at":"2026-10-07T16:07:21.442617+00:00","id":"lux-tx-80","job_id":"job-672d36d2a1928626","kind":"escrow","label":"Funds locked in escrow for the job","ledger_id":80,"locked_after":5},{"action":"RESULT_DELIVERED","amount":0,"available_after":15,"created":1791389250.0962362,"created_at":"2026-10-07T16:07:30.096236+00:00","id":"lux-tx-82","job_id":"job-672d36d2a1928626","kind":"delivery","label":"Seller delivery recorded by the marketplace","ledger_id":82,"locked_after":5},{"action":"REFUND_AUTHORIZED_BY_CONTRACT","amount":5,"available_after":20,"created":1791389250.6889515,"created_at":"2026-10-07T16:07:30.688951+00:00","id":"lux-tx-83","job_id":"job-672d36d2a1928626","kind":"refund","label":"Escrow returned to the buyer by contract","ledger_id":83,"locked_after":0}],"payment":{"amount":5,"contract_sha256":"fd2fc420e5392a96fba82388a278ea61236c898366c1726d16fe7a9cf907fce8","currency":"USD","idempotency_key":"session-deb37feccada4a71-attempt-0","job_id":"job-672d36d2a1928626","ledger":"Central marketplace SQLite ledger; IDs are scoped to this marketplace","offer_id":"offer-scout-python-code","result_sha256":"dda27c9657b9613cc9945764493cac1234c8f0063259c64475d594ac288fe114","seller_id":"scout","session_id":"session-deb37feccada4a71","simulated_payments":true,"state":"REFUNDED","transactions":[{"action":"ESCROW_LOCKED","amount":5,"created":1791389241.4426172,"created_at":"2026-10-07T16:07:21.442617+00:00","currency":"USD","from_account":"available","from_wallet":"session-deb37feccada4a71","id":"lux-tx-80","job_id":"job-672d36d2a1928626","ledger_id":80,"session_id":"session-deb37feccada4a71","to_account":"locked","to_wallet":"session-deb37feccada4a71"},{"action":"REFUND_AUTHORIZED_BY_CONTRACT","amount":5,"created":1791389250.6889515,"created_at":"2026-10-07T16:07:30.688951+00:00","currency":"USD","from_account":"locked","from_wallet":"session-deb37feccada4a71","id":"lux-tx-83","job_id":"job-672d36d2a1928626","ledger_id":83,"session_id":"session-deb37feccada4a71","to_account":"available","to_wallet":"session-deb37feccada4a71"}],"verification_receipts":["delivery-ad5f03a31780295b14f47d28"]},"public_key":{"alg":"Ed25519","id":"ppk-1eec83b33164f1bd","public_key_pem":"-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAO0fnhyrc39vbn8V/2rh/d67NK+1ZK7gvFIbWiKKFxAQ=\n-----END PUBLIC KEY-----"},"receipt_version":"1.0","reconciliation":{"balanced":true,"escrow_locked":5,"movements":3,"price":5,"settled":5},"session":{"budget":20,"created":1791389239.7998214,"created_at":"2026-10-07T16:07:19.799821+00:00","fixture":"buggy","id":"session-deb37feccada4a71","service":"python-code","title":"Napiš Python funkci slugify(text), která vytvoří malá ASCII písmena, převede mezery na pomlčky a odstraní diakritiku. Přidej základní testy."},"signature":null,"simulated_payments":true,"stripe_transfer":null,"timeline":[{"action":"LUX_COINS_ISSUED","amount":20,"available_after":20,"created":1791389239.8006546,"created_at":"2026-10-07T16:07:19.800655+00:00","id":"lux-tx-79","job_id":null,"kind":"issue","label":"Test credits issued to the buyer wallet","ledger_id":79,"locked_after":0},{"action":"ESCROW_LOCKED","amount":5,"available_after":15,"created":1791389241.4426172,"created_at":"2026-10-07T16:07:21.442617+00:00","id":"lux-tx-80","job_id":"job-672d36d2a1928626","kind":"escrow","label":"Funds locked in escrow for the job","ledger_id":80,"locked_after":5},{"action":"RESULT_DELIVERED","amount":0,"available_after":15,"created":1791389250.0962362,"created_at":"2026-10-07T16:07:30.096236+00:00","id":"lux-tx-82","job_id":"job-672d36d2a1928626","kind":"delivery","label":"Seller delivery recorded by the marketplace","ledger_id":82,"locked_after":5},{"action":"REFUND_AUTHORIZED_BY_CONTRACT","amount":5,"available_after":20,"created":1791389250.6889515,"created_at":"2026-10-07T16:07:30.688951+00:00","id":"lux-tx-83","job_id":"job-672d36d2a1928626","kind":"refund","label":"Escrow returned to the buyer by contract","ledger_id":83,"locked_after":0},{"action":"ESCROW_LOCKED","amount":9,"available_after":11,"created":1791389255.5001836,"created_at":"2026-10-07T16:07:35.500184+00:00","id":"lux-tx-86","job_id":"job-4a9485ee499fe199","kind":"escrow","label":"Funds locked in escrow for the job","ledger_id":86,"locked_after":9},{"action":"RESULT_DELIVERED","amount":0,"available_after":11,"created":1791389259.353136,"created_at":"2026-10-07T16:07:39.353136+00:00","id":"lux-tx-87","job_id":"job-4a9485ee499fe199","kind":"delivery","label":"Seller delivery recorded by the marketplace","ledger_id":87,"locked_after":9},{"action":"REFUND_AUTHORIZED_BY_CONTRACT","amount":9,"available_after":20,"created":1791389259.7018068,"created_at":"2026-10-07T16:07:39.701807+00:00","id":"lux-tx-88","job_id":"job-4a9485ee499fe199","kind":"refund","label":"Escrow returned to the buyer by contract","ledger_id":88,"locked_after":0},{"action":"ESCROW_LOCKED","amount":14,"available_after":6,"created":1791389264.1956298,"created_at":"2026-10-07T16:07:44.195630+00:00","id":"lux-tx-89","job_id":"job-9379b62dbadf0e89","kind":"escrow","label":"Funds locked in escrow for the job","ledger_id":89,"locked_after":14},{"action":"RESULT_DELIVERED","amount":0,"available_after":6,"created":1791389273.2404168,"created_at":"2026-10-07T16:07:53.240417+00:00","id":"lux-tx-90","job_id":"job-9379b62dbadf0e89","kind":"delivery","label":"Seller delivery recorded by the marketplace","ledger_id":90,"locked_after":14},{"action":"PAYMENT_RELEASED","amount":14,"available_after":6,"created":1791389273.5644753,"created_at":"2026-10-07T16:07:53.564475+00:00","id":"lux-tx-91","job_id":"job-9379b62dbadf0e89","kind":"payment","label":"Escrow released to the seller after verification","ledger_id":91,"locked_after":0}],"verification":{"capability":"python-code","checks":[],"reasons":["Invalid Python syntax: tests"],"scope":"Structure, Python syntax and cited source fetches; seller attestation is not proof of general semantic quality","valid_delivery":false},"wallets":{"buyer":{"available":6,"id":"session-deb37feccada4a71","kind":"buyer","locked":0},"seller":{"available":135,"id":"scout","kind":"seller","locked":0}}}