{
    "version": "1.0",
    "description": "Application state machine for agent crawling (Synthetic Journey Crawling)",
    "states": {
        "browse": {
            "description": "Browse server directory",
            "url": "/",
            "transitions": [
                "view_server",
                "search",
                "login"
            ]
        },
        "view_server": {
            "description": "View server detail",
            "url": "/server/{slug}",
            "transitions": [
                "vote",
                "comment",
                "browse"
            ]
        },
        "search": {
            "description": "Search servers",
            "url": "/api/search?q={query}",
            "transitions": [
                "view_server",
                "browse"
            ]
        },
        "login": {
            "description": "Authenticate via Google OAuth",
            "url": "/login",
            "transitions": [
                "dashboard",
                "browse"
            ]
        },
        "dashboard": {
            "description": "Manage own servers",
            "url": "/dashboard",
            "transitions": [
                "add_server",
                "edit_server",
                "browse"
            ]
        },
        "add_server": {
            "description": "Submit new server",
            "url": "/add-community",
            "transitions": [
                "dashboard"
            ]
        },
        "vote": {
            "description": "Vote for server (48h cooldown)",
            "url": "/vote",
            "transitions": [
                "view_server"
            ]
        },
        "comment": {
            "description": "Add comment to server",
            "url": "/comment/add",
            "transitions": [
                "view_server"
            ]
        }
    },
    "initial_state": "browse",
    "generated": "2026-09-18T18:57:08+00:00"
}