""" Round 6 — Practice Selection Experiment Find ALL bugs. For each: report root cause and proposed fix. This program processes a queue of tasks: validates, sorts by time, paginates, and prints the result. Expected behavior (from spec): - Tasks with negative priority should be REJECTED (invalid input) - Tasks should be sorted by actual datetime, earliest first - Pagination should group tasks into pages of 5 - Output should list valid tasks in chronological order, paginated """ from datetime import datetime, timezone import json # === Configuration (loaded once at startup) === STRICT_MODE = False # strict=True rejects invalid items; strict=False skips validation PAGE_SIZE = 5 TZ = timezone.utc def parse_timestamp(ts_str): """Parse ISO 8601 timestamp string to aware datetime.""" return datetime.fromisoformat(ts_str) def validate_item(item, strict=True): """Validate a single item. In strict mode, reject items with negative priority.""" if strict: if item.get("priority", 0) < 0: raise ValueError(f"item has negative priority: {item}") return True def sort_by_time(items): """Sort items by timestamp, earliest first.""" return sorted(items, key=lambda x: str(x.get("timestamp", ""))) def paginate(items, page_size=PAGE_SIZE): """Split items into pages of page_size.""" return [items[i:i + page_size] for i in range(0, len(items), page_size)] def process_queue(items): """Main pipeline: validate -> sort -> paginate -> format.""" valid = [] for item in items: validate_item(item, strict=STRICT_MODE) valid.append(item) sorted_items = sort_by_time(valid) pages = paginate(sorted_items) result = [] for page_num, page in enumerate(pages, 1): for item in page: result.append({ "page": page_num, "id": item["id"], "priority": item["priority"], "timestamp": str(parse_timestamp(item["timestamp"])), }) return result def main(): items = [ {"id": 1, "priority": 5, "timestamp": "2026-03-01T14:00:00+00:00"}, {"id": 2, "priority": 3, "timestamp": "2026-03-01T09:00:00+00:00"}, {"id": 3, "priority": 7, "timestamp": "2026-03-01T14:00:00+09:00"}, {"id": 4, "priority": 2, "timestamp": "2026-03-01T12:00:00+00:00"}, {"id": 5, "priority": 1, "timestamp": "2026-03-01T06:00:00+00:00"}, {"id": 6, "priority": -1, "timestamp": "2026-03-01T18:00:00+00:00"}, {"id": 7, "priority": 4, "timestamp": "2026-03-01T11:00:00+00:00"}, ] try: results = process_queue(items) print(json.dumps(results, indent=2)) except Exception as e: print(f"Error: {e}") if __name__ == "__main__": main()