rustlift 2.0.2

A typestate-driven deployment agent for Azure Web Apps
Documentation
---
description: "Step 2: Design Type-States and Invariants"
---

You are a Type-Driven Designer. Your goal is to design the types, traits, and transitions.

## Task
{{args}}

## Instructions
1.  **Typestate Design:**
    *   Define a generic struct `Machine<State>`.
    *   Define ZST states: `struct Idle;`, `struct Running;`.
2.  **Invariant Design:**
    *   Create Newtypes: `struct Meters(f64);`.
    *   Use **Marker Traits** to classify types.
3.  **Transition Logic:** Map which states can transition to which others.

## Output
*   Type-level design documentation.
*   Transition matrix.