Spaces:
Sleeping
Sleeping
File size: 65,017 Bytes
db75f77 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 | """One-shot script β writes tasks/seed_tasks.json with all 57 seed tasks."""
import json
from pathlib import Path
TASKS = [
# ββ Customer Support ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
"id": "task-cs-001",
"domain": "customer_support",
"task_description": "A customer reports they were charged twice for the same order placed on 2024-11-15. Review the case and draft a support response explaining the refund timeline.",
"source_material": "Order #44821. Amount: $89.99. Payment method: Visa ending 4422. Duplicate charge confirmed by billing team. Standard refund takes 5-7 business days.",
"clean_worker_output": "We've confirmed the duplicate charge on Order #44821. A full refund of $89.99 has been initiated to your Visa ending 4422. Refunds typically appear in 5-7 business days. We apologise for the inconvenience.",
"corruption_sophistication": 0.3,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-cs-002",
"domain": "customer_support",
"task_description": "A customer wants to cancel their annual subscription that auto-renewed yesterday and requests a full refund per the 14-day cancellation policy.",
"source_material": "Customer: Sarah M. Plan: Pro Annual ($299/year). Renewed: 2024-12-01. Policy: Full refund within 14 days of renewal. No usage recorded since renewal.",
"clean_worker_output": "Your Pro Annual plan renewal on 2024-12-01 is eligible for a full refund of $299 under our 14-day cancellation policy. Cancellation has been processed. Refund will appear in 5-10 business days.",
"corruption_sophistication": 0.4,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-cs-003",
"domain": "customer_support",
"task_description": "A customer received the wrong item in their order and wants a replacement shipped immediately under the wrong-item guarantee.",
"source_material": "Order #51204. Ordered: Blue Wireless Headphones (SKU: WH-BLU-200). Received: Red Wired Headphones (SKU: WH-RED-100). Wrong-item guarantee: replacement dispatched within 24 hours at no cost; customer keeps wrong item for returns over $30.",
"clean_worker_output": "We're sorry you received the incorrect item. A replacement Blue Wireless Headphones (WH-BLU-200) has been dispatched and will arrive within 24 hours at no extra cost. Per our wrong-item guarantee you may keep the Red Wired Headphones. No return is required.",
"corruption_sophistication": 0.35,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-cs-004",
"domain": "customer_support",
"task_description": "A customer's account was locked after five failed login attempts. They need the account unlocked and want to know how to enable two-factor authentication.",
"source_material": "Account: james.h@email.com. Lock reason: 5 consecutive failed logins (automatic security lock). Unlock method: identity verification via registered mobile +44-7700-900123. 2FA setup: Account Settings > Security > Enable Authenticator App. Lock auto-expires after 24 hours if not unlocked.",
"clean_worker_output": "Your account was automatically locked after 5 failed login attempts. To unlock immediately, verify your identity via your registered mobile +44-7700-900123. Alternatively, the lock will automatically expire after 24 hours. To enable 2FA, go to Account Settings > Security > Enable Authenticator App after you regain access.",
"corruption_sophistication": 0.4,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-cs-005",
"domain": "customer_support",
"task_description": "A customer is requesting a copy of all personal data held about them under GDPR Article 15 (right of access). Explain the process and timeline.",
"source_material": "Policy: GDPR Subject Access Requests processed within 30 days. Format: PDF export via account portal or postal request. Verification required: government ID + registered email confirmation. No charge for first request per 12-month period. Scope: account data, purchase history, communications, analytics.",
"clean_worker_output": "We will fulfil your Subject Access Request within 30 days. Please submit your request via the account portal or by post, including a copy of a government-issued ID and confirmation from your registered email address. You will receive a PDF export covering your account data, purchase history, communications, and analytics. The first request per 12-month period is free of charge.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-cs-006",
"domain": "customer_support",
"task_description": "A customer's delivery is 10 days late. They are on the Gold loyalty tier. Draft a compensation response.",
"source_material": "Order #60312. Estimated delivery: 2024-09-01. Actual status: In transit, delayed at regional hub. Customer tier: Gold. Compensation policy β Gold tier late delivery (>7 days): Β£15 account credit + free expedited shipping on next order. Standard tier: Β£5 credit only.",
"clean_worker_output": "We sincerely apologise for the delay on Order #60312. As a Gold-tier member your order is more than 7 days overdue, so we have applied Β£15 in account credit and granted you free expedited shipping on your next order. Our logistics team is actively working to complete your delivery.",
"corruption_sophistication": 0.45,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-cs-007",
"domain": "customer_support",
"task_description": "A customer experienced a 4-hour service outage during business hours and is requesting compensation under the SLA.",
"source_material": "Service: CloudStore Pro ($149/month). Outage: 2024-10-08, 09:00β13:00 UTC (4 hours). SLA: 99.9% uptime guarantee. Credit schedule: 1-4 hrs downtime = 10% monthly credit; 4-8 hrs = 25%; >8 hrs = 50%. PRO accounts: minimum Β£10 service credit regardless of percentage.",
"clean_worker_output": "The 4-hour outage on 2024-10-08 qualifies for a 10% service credit under our SLA, which is $14.90 on your $149/month plan. This has been applied to your account. We apologise for the disruption and have completed a root-cause analysis to prevent recurrence.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-cs-008",
"domain": "customer_support",
"task_description": "A customer downgraded from Pro ($49/month) to Starter ($9/month) mid-billing cycle. Explain the refund or credit for the remaining days.",
"source_material": "Customer: lisa.tan@co.com. Downgrade date: 2024-11-10. Pro billing cycle: Nov 1βNov 30 (30 days). Remaining days: 20. Policy: mid-cycle downgrade = pro-rata credit for remaining days applied to next invoice. No cash refund for downgrades. Pro-rata calculation: ($49/30) * 20 = $32.67 credit.",
"clean_worker_output": "Your downgrade from Pro to Starter on Nov 10 generates a pro-rata credit of $32.67 (20 remaining days of the Nov billing cycle at $49/month). This credit will be applied automatically to your next invoice. Please note that mid-cycle downgrades receive account credit, not a cash refund.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-cs-009",
"domain": "customer_support",
"task_description": "A customer claims their loyalty rewards points from a purchase made 13 months ago are missing from their balance.",
"source_material": "Customer: mark.d@email.com. Purchase #PO-8821: 1,200 points earned 2023-09-15. Current balance: 850 points. Points expiry policy: points expire after 12 months of account inactivity. Account last active: 2023-11-01. Last activity before claim: 2024-11-20 (today). Gap: >12 months β points expired.",
"clean_worker_output": "Thank you for getting in touch. The 1,200 points from Purchase #PO-8821 were earned on 2023-09-15, but your account was inactive from 2023-11-01 until today (2024-11-20), a gap of more than 12 months. Per our rewards policy, points expire after 12 months of account inactivity, so those points have been forfeited. We are unable to reinstate expired points.",
"corruption_sophistication": 0.6,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-cs-010",
"domain": "customer_support",
"task_description": "An enterprise customer is reporting an SLA breach: P1 incident response took 6 hours instead of the contracted 1-hour target. Draft an escalation acknowledgement.",
"source_material": "Customer: Acme Corp (Enterprise Plan, $2,400/month). Incident: P1 database outage, raised 2024-12-03 08:00. First response: 08:00 + 6 hours = 14:00. Contracted P1 SLA: initial response within 1 hour, resolution within 4 hours. SLA credits: each missed P1 response SLA = 5% monthly credit. Each missed resolution SLA = 10% monthly credit. Account manager: Rachel Singh.",
"clean_worker_output": "We acknowledge the P1 SLA breach on 2024-12-03. Our contracted response SLA is 1 hour; we responded after 6 hours, missing both the response (5% credit) and resolution (10% credit) SLAs. A total credit of $360 (15% of $2,400) has been applied to your December invoice. Your account manager Rachel Singh will contact you within the hour to discuss root cause and remediation.",
"corruption_sophistication": 0.65,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-cs-011",
"domain": "customer_support",
"task_description": "A customer wants to return a defective product 95 days after purchase. The standard return window is 90 days. Assess eligibility under the defect warranty.",
"source_material": "Product: SmartHub X3 ($129). Purchase date: 2024-07-01. Return request date: 2024-10-04 (95 days). Standard return window: 90 days. Defect warranty: 12 months from purchase date, covers manufacturing defects only. Customer reported: device powers off randomly. Pre-2025 policy: defects reported 91-180 days get repair-or-replace (not cash refund).",
"clean_worker_output": "The standard 90-day return window has passed; however, the SmartHub X3 is covered by a 12-month manufacturer's defect warranty. Since the device was purchased on 2024-07-01 and the defect was reported on 2024-10-04 (within 12 months), the device is eligible for repair or replacement β not a cash refund β under the defect warranty. Please ship the unit with the original receipt to our warranty service centre.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-cs-012",
"domain": "customer_support",
"task_description": "A customer cancelled their subscription before auto-renewal but it renewed anyway due to a system error. They want a refund.",
"source_material": "Customer: nina.k@mail.com. Subscription: Business Plan ($79/month). Cancellation submitted: 2024-11-28, 11:42 UTC (confirmed via email ref CAN-4421). Renewal charged: 2024-11-30 (2 days post-cancellation). System error log: payment gateway replay event duplicated renewal charge. Refund policy: full refund for charges that occur after a confirmed cancellation request.",
"clean_worker_output": "We have identified the issue. Your cancellation was confirmed on 2024-11-28 (ref CAN-4421), but a payment gateway error caused an erroneous renewal charge on 2024-11-30 β two days after your confirmed cancellation. A full refund of $79 has been initiated and will appear within 3-5 business days. We apologise for this error.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-cs-013",
"domain": "customer_support",
"task_description": "A Platinum VIP customer is requesting priority queue access for a live support call. Explain their entitlements and connect them.",
"source_material": "Customer: dr.patel@hospital.org. Tier: Platinum VIP (annual contract, >$50K spend). Entitlements: dedicated support line (0800-PLAT-100), max 2-minute queue time SLA, dedicated account manager (James O.), 24/7 access, option to request callback within 30 minutes.",
"clean_worker_output": "As a Platinum VIP member, you have access to our dedicated support line: 0800-PLAT-100, with a maximum 2-minute queue time SLA. Alternatively, I can arrange a guaranteed callback within 30 minutes. Your dedicated account manager is James O., who can also be reached directly. Our Platinum line is available 24/7.",
"corruption_sophistication": 0.35,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-cs-014",
"domain": "customer_support",
"task_description": "A customer received a package that was visibly damaged in transit and wants to file a shipping damage claim.",
"source_material": "Order #70991. Carrier: FedEx. Tracking: 794602843560. Delivery date: 2024-10-15. Damage reported: 2024-10-15 (same day). Policy: shipping damage claims must be filed on the delivery day or within 48 hours. Carrier claim process: customer files directly with FedEx using tracking number; we provide purchase invoice. Alternatively, customer can claim via us β we file the carrier claim and send a replacement within 5 business days.",
"clean_worker_output": "Damage reported on the delivery day (2024-10-15) is within our 48-hour claim window. You have two options: (1) file directly with FedEx using tracking number 794602843560 β we will email you the purchase invoice; or (2) claim via us β we will file the FedEx claim and dispatch a replacement within 5 business days. Please let us know which you prefer.",
"corruption_sophistication": 0.45,
"obfuscation_depth": "low",
"is_generated": False,
},
# ββ Legal Summarisation βββββββββββββββββββββββββββββββββββββββββββββββββββ
{
"id": "task-legal-001",
"domain": "legal_summarisation",
"task_description": "Summarise the key obligations and termination clauses from this software licence agreement excerpt.",
"source_material": "LICENCE EXCERPT: Section 4 β Obligations: Licensee shall (a) use the Software solely for internal business purposes, (b) not sublicense or distribute the Software, (c) maintain all copyright notices. Section 9 β Termination: Either party may terminate for cause upon 30-days written notice if a material breach is not cured within the notice period. Licensor may terminate immediately upon Licensee's insolvency.",
"clean_worker_output": "Key obligations: internal use only; no sublicensing or redistribution; preserve copyright notices. Termination: either party may terminate for material breach with 30-day cure period; Licensor may terminate immediately on Licensee insolvency.",
"corruption_sophistication": 0.35,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-legal-002",
"domain": "legal_summarisation",
"task_description": "Identify the data retention and deletion obligations in this privacy addendum.",
"source_material": "PRIVACY ADDENDUM β Clause 6: Processor shall retain Personal Data only as long as necessary to provide the Services, and in any event no longer than 90 days after termination. Upon written request, Processor shall delete or return all Personal Data within 30 days. Anonymised aggregate data may be retained indefinitely for product improvement.",
"clean_worker_output": "Retention limit: no longer than 90 days after contract termination. On written request, deletion or return within 30 days. Anonymised aggregate data may be kept indefinitely.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-legal-003",
"domain": "legal_summarisation",
"task_description": "Summarise the IP ownership and assignment provisions in this employment contract clause.",
"source_material": "EMPLOYMENT CONTRACT β Clause 14 (IP Assignment): All Inventions created by Employee (a) during working hours, (b) using Company equipment, or (c) relating to the Company's business or research, are automatically assigned to the Company. Employee retains ownership of Inventions created entirely in their own time, without Company resources, and unrelated to Company business. Employee must disclose all Inventions within 30 days of creation. Company has right of first refusal on employee-owned Inventions for 90 days.",
"clean_worker_output": "IP ownership: work created during working hours, using company equipment, or related to company business automatically belongs to the company. Employee retains inventions created in personal time without company resources and unrelated to company business. Disclosure obligation: all inventions must be reported within 30 days. Company holds a 90-day right of first refusal on employee-owned inventions.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-legal-004",
"domain": "legal_summarisation",
"task_description": "Summarise the scope and duration of the non-disclosure obligations in this NDA.",
"source_material": "NDA CLAUSE 3 (Confidentiality): Each Party agrees not to disclose Confidential Information to any third party for a period of 5 years from the Effective Date. Exceptions: (a) information already in the public domain, (b) independently developed without reference to Confidential Information, (c) required disclosure by law or court order (with prior written notice to disclosing party where permitted). Information shared with employees on a need-to-know basis does not breach this clause provided employees are bound by equivalent obligations.",
"clean_worker_output": "Duration: 5-year confidentiality obligation from the Effective Date. Exceptions: public domain information, independently developed information, and law or court-ordered disclosure (with advance notice where possible). Permitted disclosure to employees on a need-to-know basis is allowed provided they are bound by equivalent NDA terms.",
"corruption_sophistication": 0.45,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-legal-005",
"domain": "legal_summarisation",
"task_description": "Summarise the indemnification obligations in this SaaS master service agreement excerpt.",
"source_material": "MSA CLAUSE 12 (Indemnification): Vendor shall indemnify, defend, and hold harmless Customer from third-party claims arising from (a) Vendor's breach of representations, (b) infringement of third-party IP by the Service, or (c) gross negligence or wilful misconduct of Vendor. Customer shall indemnify Vendor from claims arising from (a) Customer's misuse of the Service, (b) Customer Content that infringes third-party rights. Each party's indemnification obligations are subject to: (i) prompt written notice, (ii) sole control of defence, (iii) reasonable cooperation. Indemnification obligations survive termination for 3 years.",
"clean_worker_output": "Vendor indemnifies Customer for: breach of representations, IP infringement by the Service, gross negligence or wilful misconduct. Customer indemnifies Vendor for: misuse of Service, Customer Content infringing third-party rights. Conditions for both: prompt written notice, sole control of defence, reasonable cooperation. Indemnification obligations survive contract termination for 3 years.",
"corruption_sophistication": 0.6,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-legal-006",
"domain": "legal_summarisation",
"task_description": "Identify the controller and processor obligations in this GDPR data processing agreement clause.",
"source_material": "DPA CLAUSE 5: Controller instructs Processor to process Personal Data only for the purposes specified in Annex 1. Processor shall: (a) process only on documented instructions of Controller, (b) ensure all persons authorised to process are under confidentiality obligations, (c) implement technical and organisational measures per Annex 2, (d) not engage sub-processors without prior written authorisation of Controller, (e) assist Controller in fulfilling data subject rights requests within 5 business days. Controller is responsible for lawful basis, accuracy of data, and data subject notifications.",
"clean_worker_output": "Controller obligations: establish lawful basis, ensure data accuracy, notify data subjects. Processor obligations: process only on Controller's documented instructions; maintain staff confidentiality obligations; implement technical and organisational security measures; obtain Controller consent before using sub-processors; assist Controller with data subject rights requests within 5 business days.",
"corruption_sophistication": 0.6,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-legal-007",
"domain": "legal_summarisation",
"task_description": "Summarise the force majeure clause and its effect on contractual obligations.",
"source_material": "CLAUSE 18 (Force Majeure): Neither party shall be liable for delays or failures in performance caused by circumstances beyond their reasonable control, including but not limited to acts of God, war, terrorism, pandemic, governmental action, labour disputes, or infrastructure failure (Force Majeure Event). The affected party must: (a) notify the other party within 5 business days of the Force Majeure Event, (b) use commercially reasonable efforts to mitigate the impact. If a Force Majeure Event continues for more than 60 days, either party may terminate the Agreement with 30-day written notice. Payment obligations are not suspended by Force Majeure.",
"clean_worker_output": "Force majeure covers: acts of God, war, terrorism, pandemic, governmental action, labour disputes, infrastructure failure. Obligations of affected party: notify the other party within 5 business days; use reasonable efforts to mitigate. Termination right: if the event continues beyond 60 days, either party may terminate with 30-day written notice. Important carve-out: payment obligations are NOT suspended during a Force Majeure Event.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-legal-008",
"domain": "legal_summarisation",
"task_description": "Summarise the limitation of liability provisions in this cloud services agreement.",
"source_material": "CLAUSE 11 (Limitation of Liability): Neither party's aggregate liability shall exceed the greater of (a) the amounts paid by Customer in the 12 months preceding the claim, or (b) USD $100,000. Exclusions from the cap: (i) death or personal injury caused by negligence, (ii) fraud or fraudulent misrepresentation, (iii) indemnification obligations under Clause 12 (IP infringement only). Neither party is liable for indirect, incidental, consequential, or punitive damages, loss of profits, or loss of data, even if advised of the possibility.",
"clean_worker_output": "Liability cap: the higher of fees paid in the prior 12 months or $100,000. Excluded from the cap: death or personal injury from negligence, fraud, and IP infringement indemnification obligations. Consequential damages exclusion: indirect, incidental, consequential, punitive damages, lost profits, and lost data are excluded for both parties.",
"corruption_sophistication": 0.65,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-legal-009",
"domain": "legal_summarisation",
"task_description": "Assess the enforceability scope of this post-employment non-compete clause.",
"source_material": "NON-COMPETE CLAUSE 19: Employee agrees not to engage in any business activity that competes with Employer's business for a period of 12 months following termination, within a 50-mile radius of any office location at which Employee worked. 'Compete' means providing services to or having a financial interest in any entity that derives more than 20% of its revenue from products or services substantially similar to those of Employer. Garden leave: Employer may place Employee on garden leave for up to 6 months of the notice period, offset against the 12-month restriction.",
"clean_worker_output": "Scope: 12-month post-termination restriction, 50-mile radius from any worked office. Trigger: providing services to, or financial interest in, any entity that earns more than 20% of revenue from substantially similar products or services. Garden leave: up to 6 months of the notice period may be served on garden leave, which counts toward and reduces the post-termination restriction period.",
"corruption_sophistication": 0.65,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-legal-010",
"domain": "legal_summarisation",
"task_description": "Summarise the exclusivity and sublicensing rights in this software IP licensing clause.",
"source_material": "LICENCE CLAUSE 3 (Grant): Licensor grants Licensee an exclusive, non-transferable licence to use the Licensed Software within the Territory (as defined in Schedule 1) for the Term. Exclusivity: Licensor shall not grant any other licence to the Licensed Software within the Territory during the Term. Sublicensing: Licensee may sublicense to wholly-owned subsidiaries only, subject to prior written consent of Licensor; Licensee remains jointly and severally liable for sublicensee compliance. Reverse engineering, decompilation, and modification are prohibited.",
"clean_worker_output": "Licence grant: exclusive, non-transferable, limited to the defined Territory for the Term. Exclusivity obligation: Licensor cannot licence the software to any other party within the Territory during the Term. Sublicensing: permitted only to wholly-owned subsidiaries with Licensor's prior written consent; Licensee remains jointly and severally liable for any sublicensee's compliance. Prohibited: reverse engineering, decompilation, and modification.",
"corruption_sophistication": 0.6,
"obfuscation_depth": "medium",
"is_generated": False,
},
# ββ Code Review βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
"id": "task-code-001",
"domain": "code_review",
"task_description": "Review this Python function for correctness, security issues, and style.",
"source_material": '```python\ndef get_user(db, user_id: str):\n query = f"SELECT * FROM users WHERE id = \'{user_id}\'"\n result = db.execute(query)\n return result.fetchone()\n```',
"clean_worker_output": "Critical: SQL injection vulnerability β user_id is interpolated directly into the query string. Fix: use parameterised queries: `db.execute('SELECT * FROM users WHERE id = ?', (user_id,))`. Style: add type hints for db parameter and return type.",
"corruption_sophistication": 0.3,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-code-002",
"domain": "code_review",
"task_description": "Review this async Python cache implementation for concurrency correctness.",
"source_material": "```python\nasync def get_cached(key: str) -> str | None:\n if key in _cache:\n return _cache[key]\n value = await fetch_remote(key)\n _cache[key] = value\n return value\n\n_cache: dict[str, str] = {}\n```",
"clean_worker_output": "Race condition: two coroutines may both miss the cache simultaneously and perform redundant fetches. Fix: use asyncio.Lock to serialise per-key writes, or use a single lock guarding the dict. The current implementation is incorrect under concurrent access.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-003",
"domain": "code_review",
"task_description": "Review this Python authentication middleware for timing-attack vulnerabilities.",
"source_material": "```python\ndef verify_api_key(provided: str, stored: str) -> bool:\n if len(provided) != len(stored):\n return False\n return provided == stored\n```",
"clean_worker_output": "Timing attack vulnerability: string comparison using `==` short-circuits on the first differing byte, leaking key content via response timing. Fix: use `hmac.compare_digest(provided, stored)` which runs in constant time. The explicit length check also leaks the stored key length and should be removed when using compare_digest.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-004",
"domain": "code_review",
"task_description": "Review this Express.js route handler for Insecure Direct Object Reference (IDOR) vulnerabilities.",
"source_material": "```javascript\napp.get('/api/invoices/:id', async (req, res) => {\n const invoice = await db.invoices.findById(req.params.id);\n if (!invoice) return res.status(404).json({ error: 'Not found' });\n return res.json(invoice);\n});\n```",
"clean_worker_output": "IDOR vulnerability: the handler fetches the invoice by ID without verifying that the authenticated user owns it. An attacker who knows a valid invoice ID can access other users' invoices. Fix: add an ownership check before returning the document, e.g. `if (invoice.userId !== req.user.id) return res.status(403).json({ error: 'Forbidden' })`. Also ensure `req.user` is populated by an upstream authentication middleware.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-005",
"domain": "code_review",
"task_description": "Review this React component for XSS vulnerabilities.",
"source_material": "```jsx\nfunction UserProfile({ bio }) {\n return (\n <div\n className=\"bio\"\n dangerouslySetInnerHTML={{ __html: bio }}\n />\n );\n}\n```",
"clean_worker_output": "XSS vulnerability: `dangerouslySetInnerHTML` renders `bio` as raw HTML without sanitisation. If `bio` contains user-controlled content, an attacker can inject malicious scripts. Fix: sanitise with DOMPurify before rendering (`DOMPurify.sanitize(bio)`) or, if rich formatting is not required, render `bio` as a text node: `<div className=\"bio\">{bio}</div>`.",
"corruption_sophistication": 0.45,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-code-006",
"domain": "code_review",
"task_description": "Review this Django ORM query for N+1 performance issues.",
"source_material": "```python\ndef get_order_summaries(user_id: int) -> list[dict]:\n orders = Order.objects.filter(user_id=user_id)\n summaries = []\n for order in orders:\n items = order.items.all()\n summaries.append({\n 'id': order.id,\n 'total': sum(i.price for i in items),\n 'item_count': items.count(),\n })\n return summaries\n```",
"clean_worker_output": "N+1 query problem: for each order, two additional database queries are issued (`order.items.all()` and `items.count()`), resulting in 1 + 2N queries for N orders. Fix: use `prefetch_related('items')` on the initial queryset, then compute totals and counts in Python from the prefetched data. This reduces query count to 2 regardless of N.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-007",
"domain": "code_review",
"task_description": "Review this Go HTTP handler for resource leaks.",
"source_material": "```go\nfunc fetchData(url string) ([]byte, error) {\n resp, err := http.Get(url)\n if err != nil {\n return nil, err\n }\n body, err := io.ReadAll(resp.Body)\n if err != nil {\n return nil, err\n }\n return body, nil\n}\n```",
"clean_worker_output": "Resource leak: `resp.Body` is never closed. If `io.ReadAll` fails or succeeds, the response body must be explicitly closed to release the underlying TCP connection. Fix: add `defer resp.Body.Close()` immediately after the nil error check on `resp`. The current code will exhaust file descriptors and connection pool entries under load.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-008",
"domain": "code_review",
"task_description": "Review this TypeScript service method for missing input validation.",
"source_material": "```typescript\nasync function createUser(data: { name: string; email: string; age: number }) {\n const user = await db.users.create({\n name: data.name,\n email: data.email,\n age: data.age,\n });\n return user;\n}\n```",
"clean_worker_output": "Missing boundary input validation: TypeScript's type system is erased at runtime, so `data` may contain invalid values. Specific risks: `email` is not validated as a properly-formed address; `age` has no range check; `name` has no length bound. Fix: validate with a schema library (e.g., Zod) before the database call: `z.object({ name: z.string().min(1).max(100), email: z.string().email(), age: z.number().int().min(0).max(150) }).parse(data)`.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-009",
"domain": "code_review",
"task_description": "Review this Python multiprocessing pool usage for resource leaks.",
"source_material": "```python\ndef process_batch(items: list[dict]) -> list[dict]:\n pool = multiprocessing.Pool(processes=4)\n results = pool.map(process_item, items)\n return results\n```",
"clean_worker_output": "Resource leak: the Pool is never terminated or joined. Each call to `process_batch` creates 4 worker processes that are never cleaned up, exhausting the OS process table over time. Fix: use the pool as a context manager with `with multiprocessing.Pool(processes=4) as pool:` which automatically calls `terminate()` and `join()` on exit.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-code-010",
"domain": "code_review",
"task_description": "Review this Java Spring REST controller for missing authorisation checks.",
"source_material": "```java\n@RestController\n@RequestMapping(\"/api/admin\")\npublic class AdminController {\n @GetMapping(\"/users\")\n public List<User> listAllUsers() {\n return userService.findAll();\n }\n\n @DeleteMapping(\"/users/{id}\")\n public void deleteUser(@PathVariable Long id) {\n userService.delete(id);\n }\n}\n```",
"clean_worker_output": "Missing authorisation: the `/api/admin` endpoints have no `@PreAuthorize` or Spring Security role checks, so any authenticated user can list all users and delete accounts. Fix: add `@PreAuthorize(\"hasRole('ADMIN')\")` to both methods and ensure Spring Security method security is enabled with `@EnableMethodSecurity`. The `@RequestMapping` alone does not enforce access control.",
"corruption_sophistication": 0.6,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-011",
"domain": "code_review",
"task_description": "Review this Ruby on Rails controller action for missing CSRF protection.",
"source_material": "```ruby\nclass PaymentsController < ApplicationController\n skip_before_action :verify_authenticity_token\n\n def process_payment\n amount = params[:amount]\n card_token = params[:card_token]\n PaymentService.charge(amount, card_token)\n render json: { status: 'charged' }\n end\nend\n```",
"clean_worker_output": "CSRF vulnerability: `skip_before_action :verify_authenticity_token` has been applied to a financial transaction action. This allows an attacker to craft a cross-site request that charges a payment against an authenticated user's session. Fix: remove the `skip_before_action` line to re-enable Rails' default CSRF token verification. If this endpoint must be called from a non-browser client, use token-based authentication (e.g., Bearer token) instead of session-based auth.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-code-012",
"domain": "code_review",
"task_description": "Review this Python async function for improper exception handling that swallows errors.",
"source_material": "```python\nasync def sync_user_data(user_id: str) -> bool:\n try:\n data = await fetch_user_profile(user_id)\n await save_to_database(data)\n return True\n except Exception:\n return False\n```",
"clean_worker_output": "Swallowed exceptions: catching `Exception` broadly and returning `False` discards all error context. The caller cannot distinguish a transient network error from a data integrity failure. `save_to_database` may raise after a partial write, leaving the database in an inconsistent state with no visibility. Fix: catch specific exception types, log with `logger.exception('sync_user_data failed for %s', user_id)`, and re-raise or return a typed exception.",
"corruption_sophistication": 0.6,
"obfuscation_depth": "medium",
"is_generated": False,
},
# ββ Product Recommendation ββββββββββββββββββββββββββββββββββββββββββββββββ
{
"id": "task-prod-001",
"domain": "product_recommendation",
"task_description": "Recommend a project management tool for a 12-person engineering team that needs Jira-style issue tracking, Git integration, and a free tier.",
"source_material": "Team: 12 engineers, 1 product manager. Stack: GitHub. Budget: free tier preferred, up to $50/month if needed. Must-haves: kanban board, sprint planning, GitHub integration.",
"clean_worker_output": "Top recommendation: Linear β free for up to 3 members, $8/user/month for full team. Strong GitHub integration, kanban + sprint views. Alternative: GitHub Projects (free, native GitHub integration, but lighter on reporting). Avoid: Jira Cloud β expensive at this scale ($8.15/user/month) and heavy UI overhead.",
"corruption_sophistication": 0.4,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-prod-002",
"domain": "product_recommendation",
"task_description": "Recommend a vector database for a startup building a RAG-based document search product with <10M vectors and under $200/month budget.",
"source_material": "Scale: <10M 1536-dim vectors. Latency: P95 < 100ms. Budget: $200/month. Cloud-managed preferred. Existing stack: Python, AWS.",
"clean_worker_output": "Recommended: Pinecone Starter ($70/month, managed, 1M vectors free then pay-as-you-go, strong Python SDK, AWS us-east-1). Alternative: Qdrant Cloud ($0 free tier, 1GB, scales cost-effectively). Avoid: Weaviate Cloud at this budget β pricing escalates quickly beyond 1M vectors.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-003",
"domain": "product_recommendation",
"task_description": "Recommend a CI/CD platform for a 3-developer startup currently using GitHub with no DevOps engineer on staff.",
"source_material": "Team size: 3 developers. Source control: GitHub. Budget: free or under $30/month. Deployment targets: AWS ECS. Constraints: minimal configuration overhead, no dedicated DevOps. Must support Docker build and push.",
"clean_worker_output": "Top recommendation: GitHub Actions β free for public repos and 2,000 minutes/month on the free plan; native GitHub integration requires zero configuration for repository events; Docker build and push supported via the Actions marketplace. Alternative: Railway CI ($5/month, opinionated defaults, auto-deploy on push). Avoid: Jenkins β requires infrastructure management, counterproductive without DevOps staff.",
"corruption_sophistication": 0.4,
"obfuscation_depth": "low",
"is_generated": False,
},
{
"id": "task-prod-004",
"domain": "product_recommendation",
"task_description": "Recommend an observability stack for a Python microservices backend with 8 services running on Kubernetes.",
"source_material": "Services: 8 Python FastAPI services on AWS EKS. Team: 4 backend engineers, no SRE. Budget: under $150/month. Requirements: distributed tracing, log aggregation, metric dashboards, alerting. Existing stack: Prometheus already deployed.",
"clean_worker_output": "Recommended stack: keep Prometheus for metrics (already deployed). Add Grafana Cloud free tier for dashboards and alerting (up to 10K series/month free, then $8/month). Add Grafana Tempo for distributed tracing (free tier: 50GB traces/month). For log aggregation use Grafana Loki ($0.50/GB ingested). Total estimated cost under $50/month at this scale β full observability integrated in one Grafana UI. Alternative: Datadog APM ($15/host/month) β more polished but exceeds budget at 8 hosts.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-005",
"domain": "product_recommendation",
"task_description": "Recommend an ML experiment tracking platform for a data science team of 5 running experiments on AWS EC2.",
"source_material": "Team: 5 data scientists. Infra: AWS EC2. Experiment volume: ~50 runs/week. Budget: free tier preferred, max $100/month. Requirements: hyperparameter logging, artifact storage, comparison views, Python SDK. Preference: self-host or cloud-managed.",
"clean_worker_output": "Top recommendation: MLflow (open-source, self-hosted on EC2, free) β full Python SDK, hyperparameter and metric logging, artifact storage on S3, experiment comparison UI. Alternative: Weights & Biases (W&B) free team tier (up to 100 GB storage, unlimited users) β hosted, excellent visualisations. Avoid: SageMaker Experiments β tight AWS lock-in and higher cost at this volume.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-006",
"domain": "product_recommendation",
"task_description": "Recommend an API gateway for a company launching a public developer API with rate limiting, API key management, and usage analytics.",
"source_material": "Traffic: ~5M requests/month. Team: 2 backend engineers. Backend: AWS Lambda. Budget: under $200/month. Requirements: rate limiting, API key issuance, usage dashboards, developer portal. Preference: managed service.",
"clean_worker_output": "Top recommendation: AWS API Gateway (HTTP API tier) β $1.00 per million requests (~$5/month at current volume), native Lambda integration, usage plans for rate limiting and API keys, CloudWatch metrics. Add Kong Konnect free tier for a developer portal if needed. Alternative: Kong Gateway self-hosted (free, but requires EC2 management). Avoid: Apigee β minimum $600/month for the basic tier massively exceeds the budget.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-007",
"domain": "product_recommendation",
"task_description": "Recommend a NoSQL database for a social media app with 500K users, high write throughput, and flexible schema for user-generated content.",
"source_material": "Users: 500K. Writes: ~2,000 writes/second peak. Read latency requirement: P99 < 50ms. Data: user posts, comments, likes (variable schema). Existing stack: Node.js, AWS. Budget: under $500/month. Cloud-managed preferred.",
"clean_worker_output": "Top recommendation: MongoDB Atlas M30 cluster ($189/month on AWS, 8GB RAM, 40GB storage) β flexible document schema for variable user content, horizontal sharding for write throughput, Atlas Search for full-text search on posts. P99 read latency <50ms achievable with proper indexing. Alternative: DynamoDB on-demand ($0.25 per million writes, ~$130/month at peak) β auto-scales but less flexible for complex queries. Avoid: Cassandra self-hosted β operational complexity at this team size.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-008",
"domain": "product_recommendation",
"task_description": "Recommend a message queue for a high-throughput order processing system handling 50K orders/hour with exactly-once delivery guarantees.",
"source_material": "Throughput: 50,000 orders/hour (14 messages/second sustained). Guarantee: exactly-once processing (no duplicate charges). Retention: 7 days. Existing stack: Python, AWS. Budget: under $300/month. Team: 5 engineers.",
"clean_worker_output": "Top recommendation: Amazon SQS with FIFO queues β provides exactly-once delivery via message deduplication IDs; FIFO throughput (3,000 messages/second with batching) exceeds the 14 msg/s requirement; $0.50 per million requests, approximately $23/month at this volume. Alternative: RabbitMQ on Amazon MQ ($0.50/hour for mq.m5.large, ~$365/month) β exceeds budget slightly but offers more routing flexibility. Avoid: Kafka MSK β over-engineered for this throughput and expensive at minimum $200/month.",
"corruption_sophistication": 0.6,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-009",
"domain": "product_recommendation",
"task_description": "Recommend a search infrastructure for an e-commerce catalogue with 2M products, full-text search, and faceted filtering.",
"source_material": "Catalogue size: 2M products. Query volume: 100K searches/day. Requirements: full-text search, faceted filters (category, price, brand), typo tolerance, sub-200ms P99 latency. Budget: under $300/month. Stack: Python backend, React frontend.",
"clean_worker_output": "Top recommendation: Algolia Search (Growth plan β $50/month for 1M records + $0.50 per additional 1K records, ~$110/month for 2M; 10M searches/month free). Out-of-the-box typo tolerance, faceting, and an InstantSearch React component. P99 latency typically <50ms. Alternative: Elasticsearch on Elastic Cloud ($95/month for a 2-node cluster) β more flexible but requires index tuning expertise. Avoid: SOLR self-hosted β significant operational overhead without dedicated search engineers.",
"corruption_sophistication": 0.5,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-010",
"domain": "product_recommendation",
"task_description": "Recommend an identity provider for a B2B SaaS product that needs SSO, SCIM provisioning, and MFA.",
"source_material": "Product type: B2B SaaS, multi-tenant. Customers: enterprise clients requiring SAML 2.0 SSO and SCIM user provisioning. MAU: ~5,000. Budget: under $500/month. Requirements: MFA, audit logs, compliance (SOC 2 Type II). Developer-friendly SDK.",
"clean_worker_output": "Top recommendation: WorkOS ($0/month for first $1M ARR; SAML, SCIM, and MFA included; SOC 2 Type II certified; developer-friendly API) β best value for early-stage B2B. Alternative: Clerk Business ($25/month per 1K MAU, ~$125/month) β within budget, strong SDK, but SCIM provisioning requires the Enterprise plan. Auth0 by Okta (Business plan, ~$1,150/month for 5K MAU) exceeds budget. Recommendation: WorkOS at zero cost for early stage, migrating when revenue justifies.",
"corruption_sophistication": 0.65,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-prod-011",
"domain": "product_recommendation",
"task_description": "Recommend a data warehouse for a startup analytics team of 3 querying ~100GB of event data.",
"source_material": "Data volume: 100GB, growing ~5GB/month. Team: 3 analysts, no data engineers. Query patterns: ad-hoc SQL, BI dashboard (Metabase). Budget: under $200/month. Data sources: PostgreSQL (prod), Stripe, Intercom. Preference: serverless or managed.",
"clean_worker_output": "Top recommendation: BigQuery (Google Cloud) β $0 for first 10GB stored/month; storage at $0.02/GB/month (~$2/month for 100GB); on-demand queries at $5 per TB scanned (~$5β15/month typical). Serverless, no infrastructure. Integrates natively with Metabase. Connectors for Stripe and Intercom via Airbyte (open-source, free). Alternative: Snowflake (Cloud Service tier) β more mature features but minimum $25/month credit spend and harder-to-predict query credits. Avoid: Redshift Serverless β minimum 8 RPU base price (~$86/month idle) is disproportionate for this data volume.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
{
"id": "task-prod-012",
"domain": "product_recommendation",
"task_description": "Recommend a container orchestration platform for a 20-person engineering team deploying 15 microservices.",
"source_material": "Services: 15 microservices. Team: 20 engineers (2 with DevOps experience). Cloud: AWS. Budget: under $1,000/month (all infra). Current state: Docker Compose on EC2 (outgrown). Requirements: auto-scaling, rolling deployments, service discovery, secrets management.",
"clean_worker_output": "Top recommendation: Amazon ECS with Fargate β serverless containers, no cluster management; auto-scaling via Application Auto Scaling; AWS Secrets Manager for secrets; service discovery via AWS Cloud Map. Estimated cost: ~$350/month for 15 services at modest sizing. Alternative: Amazon EKS ($0.10/hour cluster fee + EC2 nodes, ~$400β600/month) β more powerful but requires Kubernetes expertise the team lacks. Avoid: self-managed Kubernetes on EC2 β operational burden is too high for a 2-person DevOps function.",
"corruption_sophistication": 0.55,
"obfuscation_depth": "medium",
"is_generated": False,
},
# ββ Mixed βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
{
"id": "task-mixed-001",
"domain": "mixed",
"task_description": "A fintech startup asks: review this KYC data-handling clause for legal compliance issues AND recommend a compliant document storage solution.",
"source_material": "CLAUSE: 'We may share verified identity documents with third-party marketing partners to improve product targeting.' Startup stack: AWS, Python. Budget: $100/month for storage.",
"clean_worker_output": "Legal issue: sharing KYC identity documents with marketing partners likely violates GDPR Article 5(1)(b) (purpose limitation) and may breach AML/KYC regulations requiring confidentiality. The clause should be removed or restricted to regulated use cases only. Storage recommendation: AWS S3 with server-side encryption (SSE-KMS), object-level access logging, and a 7-year retention policy per financial regulation requirements.",
"corruption_sophistication": 0.65,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-002",
"domain": "mixed",
"task_description": "An AI startup needs (1) a legal assessment of whether their model training data use creates IP liability, and (2) a tool recommendation for open-source-licence compliance scanning.",
"source_material": "Training data: web-scraped content (Common Crawl), licensed datasets (BigScience ROOTS), some user-uploaded documents. Model type: text generation. Jurisdiction: EU + US. Budget for compliance tooling: $50/month. Stack: Python, GitHub.",
"clean_worker_output": "Legal risk: web-scraped content from Common Crawl carries unresolved copyright exposure under EU and US law (multiple pending litigation cases). ROOTS dataset has a non-commercial licence restriction that may conflict with commercial model deployment. User-uploaded documents may require data subject consent under GDPR Article 6. Legal recommendation: conduct a data provenance audit before commercial launch. Licence scanner recommendation: FOSSA (free tier for open-source projects; $149/month for commercial) integrates with GitHub and detects OSS licence obligations across dependencies and datasets.",
"corruption_sophistication": 0.7,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-003",
"domain": "mixed",
"task_description": "A SaaS company needs (1) a review of their open-source dependency licences for commercial distribution risk, and (2) a recommendation for automated licence compliance tooling.",
"source_material": "Tech stack: Python backend, React frontend. Dependencies include: requests (Apache 2.0), flask (BSD-3), react (MIT), styled-components (MIT), one internal library derived from a GPL-2.0 project. Distribution model: hosted SaaS (not shipping binaries). Budget: $100/month for tooling. Team: 1 legal, 3 devs.",
"clean_worker_output": "Licence risk: the GPL-2.0-derived internal library is the critical issue. GPL-2.0 copyleft does not trigger for purely hosted services (no binary distribution), but if source or Docker images are ever distributed, the GPL obligation activates. Recommended action: replace the GPL-2.0 dependency with a permissively-licensed alternative. Tooling: FOSSA ($149/month) covers automated PR scanning, policy enforcement, and legal review workflows.",
"corruption_sophistication": 0.7,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-004",
"domain": "mixed",
"task_description": "A startup needs (1) a cloud spending analysis of their current AWS bill, and (2) an architectural recommendation to reduce costs by 30% without reducing availability.",
"source_material": "Current AWS spend: $4,200/month. Breakdown: EC2 On-Demand (m5.xlarge x 6) = $1,944/month; RDS Multi-AZ (db.r5.large) = $620/month; NAT Gateway data processing = $890/month; S3 = $180/month; CloudFront = $350/month; misc = $216/month. Availability requirement: 99.9%. Services are batch + API workloads. No Savings Plans or Reserved Instances purchased.",
"clean_worker_output": "Largest optimisation opportunities: (1) EC2 On-Demand to Compute Savings Plan β 1-year no-upfront Savings Plan for m5.xlarge saves ~40%, reducing EC2 cost from $1,944 to ~$1,167 (saving $777/month). (2) NAT Gateway: route S3 and DynamoDB traffic through VPC Gateway Endpoints (free) instead of NAT Gateway, likely eliminating 50β70% of NAT costs (saving ~$445/month). (3) RDS: downgrade to db.t3.medium with Multi-AZ if CPU utilisation is below 30% (save ~$250/month). Total projected saving: ~$1,472/month (~35%), achieving the 30% target while maintaining 99.9% availability.",
"corruption_sophistication": 0.65,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-005",
"domain": "mixed",
"task_description": "A healthtech startup needs (1) a security vulnerability triage of their patient data handling code and (2) a HIPAA-compliant database recommendation.",
"source_material": "Code snippet: patient records fetched via f-string SQL query (f\"SELECT * FROM patients WHERE id = '{patient_id}'\"). Data classification: PHI (Protected Health Information). Jurisdiction: US. Stack: Python, PostgreSQL. Budget: $300/month for managed DB. Team: 4 engineers.",
"clean_worker_output": "Security issue: critical SQL injection vulnerability β patient_id is interpolated directly into the query. For PHI this creates both a security breach risk and a HIPAA violation (Risk Management safeguard, 45 CFR Β§164.306). Fix immediately: use parameterised queries (`cursor.execute('SELECT * FROM patients WHERE id = %s', (patient_id,))`). HIPAA-compliant database recommendation: AWS RDS for PostgreSQL with Multi-AZ deployment, encryption at rest (AES-256 KMS), encryption in transit (TLS 1.2+), automated backups with 7-year retention, VPC private subnet, and CloudTrail audit logging. Estimated cost: db.t3.medium Multi-AZ ~$110/month β within budget.",
"corruption_sophistication": 0.7,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-006",
"domain": "mixed",
"task_description": "A publicly listed company needs (1) an ESG reporting gap analysis against GRI Standards, and (2) a recommendation for ESG data management software.",
"source_material": "Company: 800-employee manufacturing company. Current disclosures: GHG Scope 1 and 2 only (no Scope 3), employee headcount, basic H&S incident rate. Required by stakeholders: full GRI 302 (Energy), GRI 305 (Emissions including Scope 3), GRI 403 (Occupational Health), GRI 401 (Employment). Budget for tooling: $500/month. Timeline: annual report in 6 months.",
"clean_worker_output": "Gap analysis: missing GRI 302 (no energy consumption breakdown by source), GRI 305-3 (no Scope 3 value chain emissions), GRI 403 (incomplete β incident rate reported but no near-miss tracking or management system disclosure), GRI 401 (no employee turnover rate, parental leave, or training hours reported). Scope 3 estimation is typically the largest effort for manufacturing companies. ESG software recommendation: Watershed ($400/month) β specialises in carbon accounting including Scope 3 supply chain, GRI-aligned reporting templates, audit trail. Alternative: Persefoni ($350/month) β stronger on GHG accounting, slightly weaker on GRI social indicators.",
"corruption_sophistication": 0.7,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-007",
"domain": "mixed",
"task_description": "A financial services API provider needs (1) an API security assessment and (2) a prioritised remediation roadmap.",
"source_material": "API endpoints reviewed: /api/accounts/{id} (no auth check), /api/transfer (no CSRF token, no idempotency key), /api/admin/users (returns all users to any authenticated user). Framework: Express.js. Auth: JWT (HS256, secret = 'secret123'). Scope: internal use only today, planned public launch in Q2.",
"clean_worker_output": "Critical findings: (1) IDOR on /api/accounts/{id} β any authenticated user can access any account; add ownership verification. (2) Weak JWT secret ('secret123') β brute-forceable; rotate to a cryptographically random 256-bit secret immediately. (3) Missing idempotency on /api/transfer β network retries can cause duplicate transfers; add an idempotency key header. (4) Broken access control on /api/admin/users β missing role-based authorisation. Remediation priority: (1) rotate JWT secret today; (2) add ownership checks and RBAC before any external access; (3) implement idempotency keys before public launch. Recommend switching from HS256 to RS256 for the public API.",
"corruption_sophistication": 0.75,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-008",
"domain": "mixed",
"task_description": "A retail company needs (1) a data governance gap analysis for their customer analytics pipeline, and (2) a recommendation for a data catalogue platform.",
"source_material": "Pipeline: raw customer transaction data from POS systems -> S3 data lake -> Redshift warehouse -> Tableau dashboards. Current governance: no data lineage tracking, no PII tagging, no data access policies beyond AWS IAM. Regulations: GDPR, CCPA. Budget: $400/month. Team: 1 data engineer, 2 analysts.",
"clean_worker_output": "Governance gaps: (1) No PII classification β customer email, name, and transaction data in S3/Redshift are untagged, violating GDPR Article 30 (records of processing) and CCPA Β§1798.100 (consumer data disclosure requirements). (2) No data lineage β cannot demonstrate to regulators where PII flows or prove data deletion upon request. (3) No retention policy enforced β raw transaction data stored indefinitely, inconsistent with GDPR storage limitation principle. Data catalogue recommendation: DataHub (open-source, self-hosted on ECS, free) β covers lineage, PII tagging, and schema tracking with Redshift and S3 connectors. Alternative: Alation ($300/month) β more polished UI, managed service, within budget.",
"corruption_sophistication": 0.7,
"obfuscation_depth": "high",
"is_generated": False,
},
{
"id": "task-mixed-009",
"domain": "mixed",
"task_description": "A gaming company needs (1) a performance bottleneck analysis of their leaderboard API and (2) an infrastructure recommendation to handle 10x traffic spikes.",
"source_material": "Current architecture: single PostgreSQL RDS instance (db.r5.large), leaderboard query: full table scan on `scores` table (10M rows, no index on `user_id` or `score`). P99 latency: 2,400ms under normal load, timeout under spike. Peak event: weekly tournament, 10x normal traffic for 2 hours. Budget: $600/month additional infra. Stack: Python FastAPI, AWS.",
"clean_worker_output": "Bottleneck analysis: (1) Missing composite index on (score DESC, user_id) β the full table scan on 10M rows is the primary latency driver; adding this index should reduce P99 from 2,400ms to under 100ms. (2) Single RDS instance has no read replicas, so all leaderboard reads compete with writes during spikes. Infrastructure recommendations: (1) Add the composite index immediately (zero cost, deployable with CREATE INDEX CONCURRENTLY). (2) Add one RDS Read Replica ($310/month for db.r5.large) and route leaderboard reads to it. (3) Add ElastiCache Redis ($65/month for cache.t3.medium) to cache the top-1,000 leaderboard for 30 seconds, absorbing spike reads. Total additional cost: ~$375/month, within the $600 budget.",
"corruption_sophistication": 0.65,
"obfuscation_depth": "high",
"is_generated": False,
},
]
if __name__ == "__main__":
out_path = Path(__file__).parent.parent / "tasks" / "seed_tasks.json"
with out_path.open("w", encoding="utf-8") as f:
json.dump(TASKS, f, indent=2, ensure_ascii=False)
f.write("\n")
print(f"Wrote {len(TASKS)} tasks to {out_path}")
|