# Exercise 1: Classify Five Data Types for a Ride-Sharing App as CP or AP

## Scenario

You're the architect for `RoveShare`, a ride-sharing platform, deciding how each of the following pieces of data should behave during a network partition between datacenters:

1. **Driver's current GPS location**, updated every few seconds, shown on the rider's map.
2. **Ride payment/fare charge record** — the authoritative record of how much a rider was charged for a completed ride.
3. **"Is this driver currently online and available for a ride request"** status flag.
4. **Driver's star rating average**, computed from past ride reviews, shown on their profile.
5. **Active ride's current state machine** (`requested -> accepted -> in_progress -> completed`) — the single source of truth for what stage a specific ride is in, used to decide whether a rider can still cancel it.

## Deliverables

Produce all of the following, in this file, below this line:

1. **A table classifying each of the 5 data types as CP or AP**, columns: Data | Classification (CP/AP) | One-sentence justification.
2. **For every CP classification**, explain concretely what "unavailable" looks like from that data's perspective during a partition (what does the user actually see/experience) — reference theory Section 3.
3. **For every AP classification**, explain concretely what "temporarily inconsistent" looks like for that data during a partition, AND how you'd reconcile it once the partition heals — reference theory Section 4's reconciliation point.
4. **Pick the ONE data type you found hardest to classify** and argue both sides (why it could reasonably be CP, why it could reasonably be AP) before stating your final decision and why it wins. Use the comparison table in theory Section 5 as your model for this kind of reasoning.

## Constraints

- You must classify all 5 — "it depends" is only acceptable as your Deliverable 4 pick, not as a way to skip a row in Deliverable 1's table.
- Justifications must reference the actual cost of being wrong (what happens if this specific data is stale vs what happens if it's unavailable), not a generic restatement of the CAP definitions.
