efederici/agent-harbor-tasks
agent-harbor-tasks: Harbor dataset on Hugging Face with 400 tasks. 400 original shell-agent tasks, Italian and English, from a 4-call chore to a 20-call investigation.
Tasks
- Bash backup rotation keeps 3 archives instead of 7: a shared lib sourced after the config clobbers RETENTION; find the commit, fix without…
- Subscription proration is off by one day: a 'simplify' refactor of a date helper made the day count exclusive; decoy 'Fix proration…
- Tiny build tool: plans for a target include tasks that depend on it (graph walks the wrong edge map) and ties are not broken…
- Dashboard services return stale numbers when only keyword options change: a shared memoize decorator dropped kwargs from the cache key…
- Shift-planner CLI crashes with a circular ImportError that only shows for some import orders (tests pass); find the commit, break the…
- Migrate a CLI option --out to --output consistently across subcommands (shared helper, one command with its own option, a half-done…
- Fiscal-code calculator fails the real-case test suite: a typo in the odd-position check table and swapped July/August month letters in…
- Layered config (defaults, file, env, CLI flags): nested env vars are ignored because a shared dict-merge helper lets the base win for…
- Restaurant bill splitter: shares don't add up to the total (each share rounded on its own) and the per-person cover charge loses a cent…
- Customer CSV pipeline silently drops people with accented names: trace pipeline.yaml - step registry - validator regex; name the step and…
- Move shopkit/utils/money.py to shopkit/core/currency.py and rename format money - format amount everywhere (aliased imports, module-style…
- Expense tracker books early-month Italian bank movements in the wrong month: a refactor centralised date parsing and tries mm/dd before…
- Registry/plugin-based report exporters: list the export functions the CLI can never run (shadowed registration, disabled plugin, unwired…
- .env config loader truncates values containing '=' and lets the file override real environment variables; trace show - loader/quote/merge…
- Webhook revenue summary inflated: a commit added received at to the idempotency key so provider retries are double counted; find the…
- Invoice VAT is a cent short: a locale module imported at the end of the settings silently overrides the rounding mode with half-even; find…
- Feature-flag rollout buckets users differently since a refactor moved hashing into a shared helper with the A/B-test separator; find the…
- i18n catalogs: Italian/Swiss users see English strings and Polish plurals mix forms, because the catalog loader merges the fallback chain…
- Valid IBANs containing the letter Z are rejected: an 'optimisation' built the letter- number table with range(25); find the commit, fix…
- Custom ini parser: ' '/';' inside quoted values and escapes are mishandled across lexer and value conversion; make the red test suite pass…
- Mini JSON-schema validator accepts true/false as integer/number since a refactor moved type checks to isinstance (bool subclasses int)…
- Make a ledger's failing test suite pass by migrating money from float to Decimal consistently (parsing, rounding helper, balances, FX…
- Library fines ignore the per-member-type grace period: a commit adding a YAML 'defaults' section merged it with the wrong precedence…
- Cellular-automaton engine: a 'speed up neighbour counting' commit made the finite board wrap at the edges; find the commit, restore dead…
- Log histogram shifted for non-UTC servers: a refactor moved offset handling into timeutil and flipped the sign; find the commit, fix…
- Stock valuation should be FIFO but a deque refactor of the lot queue consumes the newest lot first; find the commit, fix, keep the…
- Markdown TOC anchors broken on GitHub for accented/punctuated headings: an import clean-up made the TOC use the ASCII filename slugify…
- Parking fee calculator: the overnight-stay fix made on a branch was dropped by the conflict resolution of its merge; answer the merge…
- January invoices keep the previous year's sequence: an off-by-one in the new fiscal-year helper (month start instead of =); find the…
- Events API repeats one item at every page boundary: a shared page-window helper returns an inclusive end one too far, used for both SQL…
- Part-time staff get no overtime: the yearly YAML override defines the rule under 'part-time' while contracts are normalised to 'part…
- Hotel booking system rejects back-to-back stays: a refactor made bookings use the inclusive closure-overlap helper; find the commit, fix…
- Employee-record ingest accepts invalid rows since a cleanup commit deleted the validator and its call; restore it from history (adapting…
- Notification sender: SMS retries wait one backoff step too long (custom SMS loop passes the 1-based attempt to a 0-based policy); trace…
- Tiny in-process web framework: routes with a trailing slash return 404 since route patterns were compiled to regexes; find the commit, fix…
- Job scheduler runs the least urgent jobs first after a heap-of-tuples refactor dropped the priority negation; find the commit, fix, keep…
- Order totals changed because discount rules register at import time and an isort commit reordered the imports; find the commit, make the…
- Scopa scoring engine: a swapped primiera table value in the deck module plus a lost 'missing suit' rule in scoring; make the failing suite…
- Inventory reorder report silently lost items: a settings-key rename made the usage window fall back to 7 days; find the commit, fix…
- D'Hondt seat allocation gives a wrong seat since a heap 'optimisation' used integer division and alphabetical tie-break; find the commit…
- Sensor smoothing ignores the YAML window: the CLI default always overrides it and the config reader looks up a stale key; find where the…
- Island shipping priced as the south: a CSV- JSON data migration (typo'd region keys + silent fallback) put Sicily/Sardinia provinces in…
- Sales report on sqlite double counts revenue for customers with several addresses since a commit added the billing city via an unfiltered…
- SQLite migration runner sorts files lexicographically (10 before 2 ) since the zero padding was dropped, and records the wrong schema…
- Library-loans CLI: after a handler rename, a backwards-compat alias makes renew dispatch to the return handler (dispatch table looks…
- Mini template engine stopped HTML-escaping variables (autoescape decided by template extension, wrong default); find the commit, fix per…
- Receipt layout wraps accented words too early and misaligns prices: an 'optimization' made the width helper count UTF-8 bytes; find the…
- Timesheet billing bumps entries already on a quarter (60 - 75 min): a 'simplify ceil arithmetic' commit in a 12-commit history; bisect…
- Task runner's shell-like tokenizer mishandles backslashes, escapes in quotes and empty strings across lexer and unescape helper; make the…
- Link dedup report merges distinct URLs: the query cleaner collapses repeated params and drops blank ones via dict(parse qsl()); name the…
- Agriturismo: find overlapping bookings of the same room across portal CSV, website JSON (arrival+nights) and phone SQLite, with renamed…
- Clinic SQLite: number of visits per doctor in September 2026 including doctors with zero, sorted by count desc then name
- Rename CSV headers per a stated mapping and reorder the columns; values (leading-zero codes) unchanged
- School absences: students over 25% of 990 annual hours (strictly more than 247.5), with percentage, sorted desc
- Italian small firm: reconcile Q2/Q3 bank statements (two export formats, reversals, multi-invoice transfers) and POS takings against…
- Library loans: most borrowed author in April (dd/mm/yyyy dates), single name; overall top author differs
- Bike sharing: find bikes used in trips while an open workshop ticket said they were in repair (lock swaps, UTC vs local time, cancelled…
- Household bills: average amount per bill type in 2026 only (2025 rows present), 2 decimals, alphabetical
- School canteen: recompute billable September meals from per-pupil bookings, 9:30 cancellations, strike day and current diet list; compute…
- Construction company: September hours per building site (internal vs subcontractor timesheets vs subcontractor invoices), with renumbered…
- Convert a YAML events config to JSON, keeping types (bool, int, float) and writing dates as YYYY-MM-DD strings
- Club: left-join members CSV with a payments CSV on member code (different column names, ex-members in payments), keep member order
- Filter customers whose city is Milano (case/whitespace variants, not Milano Marittima) into a new CSV keeping columns and order
- Clinic: count cancelled Cardiology appointments for patients aged 65+, single integer (age-65 boundary, no-shows excluded)
- Outpatient clinic: doctor with most Q3 no-shows, matching appointments to kiosk check-ins by patient card (with card replacements), manual…
- Coffee roastery recall: trace a contaminated green lot through split receipts, roast batches, post-roast blends and pack runs to shipped…
- Coffee shop: top 3 products by total revenue (qty x unit price), one per line best first; top by quantity differs
- Condominium: 2025 expense split per owner using the current millesimi tables, a chart of accounts, extraordinary works charged by…
- Contacts: normalize Italian mobile numbers in mixed formats (spaces, dots, 0039, (+39)) to +39 followed by 10 digits
- Bank movements: add a running-balance column starting from a stated opening balance, 2 decimals
- Housing co-op: split the Q3 water bill across apartments from sub-meter readings (meter swap, liters vs m3, vacant unit, losses by floor…
- Choir: count active members born before 1980 (dd-mm-yyyy dates, inactive members and 1980 boundary present), single integer
- Swimming course: flatten nested enrollment JSON (parent phone) into a CSV with given columns sorted by id
- University registrar: find overbooked sections from enrollment history (latest status), audits, room-change memo, cross-listed sections…
- Union two customer exports with different column order, unique by id, sorted numerically by id
- Carrier invoice audit: rebuild the correct September invoice from delivery notes, zone map, volumetric weight rule and the new tariff
- Dental practice: find treatments performed Jan-Aug 2026 never invoiced, across clinical DB, invoice exports, code migration and price list
- Dog registry: most common breed in one town (overall most common breed differs), single line answer
- Building sub-meters: August kWh for one flat whose meter was replaced mid-month (final/initial readings in a work order, new model reports…
- Events: count sold tickets per event (excluding refunded/reserved), sorted by event name
- Convert a semicolon CSV with Italian numbers (1.234,50) into a standard comma CSV with dot decimals and no thousands separator
- Farm: flatten a nested YAML equipment inventory (grouped by barn) into a CSV sorted by barn then item
- Invoices: convert a dd/mm/yyyy date column (some not zero-padded) to ISO yyyy-mm-dd, other columns untouched
- Fleet fuel cards: flag over-capacity and wrong-fuel transactions across two card providers (different schemas, centilitres, masked card…
- Food bank 2026 campaign: pledges (cash and food) vs cash receipts, bounced cheques, merged donor records, matching gifts, anonymous…
- Freelancer: rebuild a quarterly invoice from time-tracking exports (rate change mid-quarter, daily quarter-hour rounding, monthly support…
- Greenhouse sensors: UTC JSONL readings split by day, local-day window, a sensor moved mid-day, a Fahrenheit sensor, time-dependent…
- Gym: members whose dd/mm/yyyy expiry is before 2026-10-01, output with ISO dates sorted by expiry then id
- Gym audit: turnstile JSONL badge events vs badge assignments, memberships with suspensions that extend end dates, daily passes and service…
- Load a members CSV into a new SQLite db (table members, same columns, fee as REAL, id INTEGER)
- Gym: average session length in minutes for plain Yoga (not Power Yoga) from start datetime / end time columns, 1 decimal
- Hotel: attribute housekeeping minibar refills to the guest of the previous night (room moves, price change, expiry swaps) and find…
- Hotel: September occupancy % from bookings spanning month boundaries (clip nights to Sept, checkout night free), 1 decimal
- IoT JSON readings: find the sensor and timestamp of the single highest humidity, one line 'sensor,timestamp'
- IoT: fill blank temperature readings with the previous value of the same sensor (interleaved sensors)
- Lab biobank: find analyses run on aliquots after they were logged as discarded, joining acceptance register, LIMS aliquots, freezer logs…
- Core facility: bill research groups for September instrument time from three differently formatted usage logs, bookings/no-shows, rate…
- Amateur football league: rebuild the standings from a referee-app export, typed paper reports with team aliases, sports-judge rulings…
- IT assets: laptops still assigned to people who left (two leaver files, rehires, future leavers, returned/reassigned kit) and whether MDM…
- Civic library: total overdue fines for loans returned in September, joining loans DB, two return logs (one kiosk clock off), catalog item…
- Library SQLite: overdue loans as of 2026-09-30 (due strictly before, not returned) joined with titles, sorted CSV
- Pizzeria price list: CSV to a JSON object keyed by code with typed price (number) and VAT (integer)
- Web access log: count requests per hour for one day (log spans adjacent days), zero-padded hour, sorted
- River level logger: drop exact duplicate rows (retransmissions) keeping first, but keep same-timestamp rows with different values
- Retail loyalty program: recompute point balances (tiers by date, promo week, gift-card exclusion, returns, redemptions, approved…
- Marathon timing: rebuild official results from chip reads per mat, chip swaps, corral gun times, half-way checks and referee decisions
- Farmers' market: compute stall-fee arrears per operator (assignments, stall categories and reclassification, tariff change, cancelled…
- Museum: days in September where turnstile entries (minus staff) differ from tickets + museum-card entries + free group leaders (online…
- Stationery shop: total March revenue (qty x unit price) from a sales CSV, single number with 2 decimals
- Newsletter: dedupe subscribers by email ignoring case and surrounding spaces, keep first occurrence, original order
- Nursery school: recompute September fees from ISEE bands (valid attestation), part-time, sibling discount and attendance reduction…
- Olive oil cooperative: recompute each member's due from deliveries, lab acidity grades and approved prices, reconcile bank payments, find…
- Tea shop: flatten nested orders JSON into one CSV row per order with item quantity sum and order total
- Shop orders: validate rows against stated rules (email, positive integer qty, positive price, real ISO date) and list bad ids
- Parcel carrier: find presumed-lost parcels from daily hub scan exports, event-code table, relabel log and a lost-parcel policy with a…
- Fitness tracker: total steps per Monday-Sunday week labelled by the Monday's date (partial first/last weeks)
- Payroll: September overtime pay for one employee from badge swipes, with a badge reassignment, approved/rejected manual corrections, break…
- Pharmacy: rebuild per-lot shelf stock at 30/09 from deliveries, sales (with customer returns), distributor returns and adjustments; list…
- Pivot long-format shop takings into shop x month table (summing duplicate rows, 0.00 for missing months), 2 decimals
- Renovation quote: add a line-total column (qty x unit price, 2 decimals) plus a final TOTALE row with the grand total
- Convert a products CSV (quoted fields with commas/quotes) to a JSON array with typed price/stock/boolean active
- School quiz: fill blank scores with the mean of known scores in the same class, rounded to 1 decimal
- Restaurant: match Z-report text files (printed after midnight, annulments, a reprint) to POS receipts in SQLite to find the one receipt…
- Bakery revenue: month-by-month percentage change 2026 vs 2025, 1 decimal, sign kept
- Car parts warehouse: reorder list per current part code following supersession chains (interchangeable or not), open supplier orders…
- SaaS billing: link support cancellation tickets (via contacts) to subscriptions and processor charges, apply end-of-period policy, skip…
- Village festival: total takings per stand across nights/shifts with share of grand total, ranked desc
- Sales agency: rebuild the Q3 commission statement (customer-agent assignments by date, returns, cancelled orders, new progressive tiers)
- School register: first-term averages for class 3B from a grade export with a /30 import error, a duplicated re-import, grade notation…
- Animal shelter: microchip registry keepers that do not match adoptions, returns, transfers to partner rescues (chip formatting, old…
- Online ceramics shop: find orders invoiced in Q3 that never shipped, tracing invoices - picking lists - two couriers
- Rooftop PV plant: energy produced but not recognised by the incentive statement (meter replacement, stuck meter estimated from inverters…
- Conference: total speaker travel reimbursement in EUR under a policy with caps, per diem from badge scans, FX rates by date (weekend…
- Shipping: count parcels per stated weight band (inclusive upper bounds, comma decimals) in fixed label order
- Personal finance: September outgoing totals per category from a bank export (ignore income/refunds), sorted desc
- School: split a students CSV into one file per class under classi/CLASS.csv with header and original order
- Workplace survey from two tools (reversed scale, UTC vs local times, test and late responses, duplicates, merged departments) -…
- Concert ticketing: find reused tickets, serials sold in both channels and refunded tickets that got in, normalising serial formats across…
- Timesheet: total hours worked per employee (end - start - break minutes), 2 decimals, sorted by name
- Safety training course: compute attended hours from badge logs (rescheduled session, badge swap, duplicate swipes, other course) and list…
- Restaurant: average covers per weekday in September (dd/mm/yyyy, closed Mondays), Italian day names Tuesday- Sunday
- Volunteer shifts: group a shuffled CSV (date, shift, name) into a YAML mapping date - mattina/pomeriggio - sorted names
- Farm: average daily eggs per henhouse in September (dd/mm/yyyy, some days missing, August rows present), 1 decimal
- Vet clinic: annual boosters due (last date + 1 year) on or before 31/10/2026, ISO due date, sorted
- Vending machines: which machine's September cash collections fall furthest short of cash sales in telemetry (card/test/refunded vends…
- Vet clinic: list active animals with overdue booster vaccinations using the current protocol, product- vaccine catalog and administration DB
- Volunteer association: compute certified hours per volunteer from shifts DB (overnight shifts, training at 50%, substitutions, cancelled…
- School grades (long format): list students whose average is below 6 (some exactly 6), alphabetical
- Retail store Q3 stock audit: opening/closing counts, goods-in in cases (with a case-size change), multi-store POS DB, transfers and…
- Municipal waste: attribute September weighbridge tickets to zones via truck plates, shifts and routes, then compute sorted-collection…
250 more tasks.