I have a list of 8 tasks with dependencies. Each task has a duration in days. Determine the critical path and the minimum total project duration.

Tasks:
- A: 3 days, no dependencies
- B: 5 days, no dependencies
- C: 2 days, depends on A
- D: 4 days, depends on A
- E: 3 days, depends on B and C
- F: 2 days, depends on D
- G: 4 days, depends on E and F
- H: 1 day, depends on G

Return your answer as a JSON object with three keys:
- "critical_path": a list of task letters in order (e.g. ["A", "C", "E", "G", "H"])
- "project_duration_days": an integer
- "reasoning": a string explaining why this is the critical path, in under 50 words