"""AI Brief 001 teaching fixture: intentionally incorrect date grouping.

This starter is not a finished solution or a product benchmark.
Task A: compare dates in Beijing time (UTC+08:00).
Task B: add --status open|done|all, default all.
Reads only sibling tasks.json and prints JSON. No network or file writes.
"""
import argparse
from datetime import date, datetime
import json
from pathlib import Path


def select_tasks(tasks, on):
    selected = []
    for task in tasks:
        if not task.get("due_at"):
            continue
        timestamp = datetime.fromisoformat(task["due_at"])
        # Deliberate teaching bug: original timezone, not Beijing timezone.
        if timestamp.date() == on:
            selected.append(task)
    return selected


def main():
    parser = argparse.ArgumentParser(description="Filter example tasks by date")
    parser.add_argument("--on", required=True, type=date.fromisoformat)
    args = parser.parse_args()
    path = Path(__file__).with_name("tasks.json")
    tasks = json.loads(path.read_text(encoding="utf-8"))
    print(json.dumps(select_tasks(tasks, args.on), ensure_ascii=False, indent=2))


if __name__ == "__main__":
    main()
