Atomic fact types for the auto.dev platform, modeled in arest.
The goal is to formalize the entire business domain so that:
- An AI support agent can handle customer questions, billing issues, and bug reports with human-in-the-loop approval
- Subscription and upgrade logic is driven by a single state machine instead of scattered across repos
- Support patterns feed back into product development via feature requests
- The system evolves through natural language — modifying readings modifies the system
- Profitability becomes queryable by modeling the full business domain
- Customer & Auth — users, API keys, OAuth
- Plans & Subscriptions — billing tiers, Stripe subscriptions
- API Products — the 12+ APIs, data providers, coverage regions
- Integrations — external service connections
- Support — customer support requests
- Feature Requests — product feedback loop from support
- Error Monitoring — proactive error detection and resolution
State machines are declared as instance facts in their respective readings files (Status and Transition declarations). No separate folder.
- Subscription Lifecycle (plans-subscriptions.md) — Free → Trialing → Active → PastDue → Cancelled
- Plan Change (plans-subscriptions.md) — Starter ↔ Growth ↔ Scale
- Support Request Lifecycle (support.md) — Received → Triaging → Investigating → Resolved → Closed
- Feature Request Lifecycle (feature-requests.md) — Proposed → Investigating → Approved → InProgress → Shipped → Closed
- Incident Lifecycle (service-health.md) — Open → Investigating → Escalated → Resolved