# Super Calendar Agent Workflows

Version: 1.0.0

This Markdown document is generated from `/agents/workflows.json`. The JSON file remains canonical.

## Global Rules

- Stop on missing required parameters.
- Do not invent routes, formats, surfaces, or parameters.
- Use user explicit input before runtime defaults.
- Use OpenAPI for HTTP execution.
- Use I/O API for low-level node reads.
- Use i18n manifest for language availability.
- Treat private feed URLs as credentials.

## State Machines

### Create Feed

Create or explain a calendar feed.

- Initial state: `INIT`
- Terminal states: `DONE`, `REPORT_MISSING_CAPABILITY`, `ERROR`

| State | Contracts | Next states |
| --- | --- | --- |
| `INIT` |  | `READ_CONTRACTS` |
| `READ_CONTRACTS` | `/agents/capabilities.json`<br>`/api/docs/json` | `DISCOVER_DOMAIN` |
| `DISCOVER_DOMAIN` |  | `VALIDATE_DOMAIN`<br>`ASK_DOMAIN` |
| `ASK_DOMAIN` |  | `VALIDATE_DOMAIN` |
| `VALIDATE_DOMAIN` |  | `SELECT_SURFACE`<br>`REPORT_MISSING_CAPABILITY` |
| `SELECT_SURFACE` |  | `VALIDATE_PARAMETERS` |
| `VALIDATE_PARAMETERS` |  | `ASK_MISSING_PARAMETERS`<br>`BUILD_URL` |
| `ASK_MISSING_PARAMETERS` |  | `VALIDATE_PARAMETERS` |
| `BUILD_URL` |  | `OUTPUT_ACTIONS` |
| `OUTPUT_ACTIONS` |  | `DONE` |
| `REPORT_MISSING_CAPABILITY` |  |  |
| `ERROR` |  |  |
| `DONE` |  |  |

### Developer Integration

Explain or build a developer integration.

- Initial state: `INIT`
- Terminal states: `DONE`, `REPORT_MISSING_CAPABILITY`, `ERROR`

| State | Contracts | Next states |
| --- | --- | --- |
| `INIT` |  | `READ_OPENAPI` |
| `READ_OPENAPI` | `/api/docs/json` | `IDENTIFY_ROUTE` |
| `IDENTIFY_ROUTE` |  | `CONFIRM_PARAMS`<br>`REPORT_MISSING_CAPABILITY` |
| `CONFIRM_PARAMS` |  | `CONFIRM_FORMATS` |
| `CONFIRM_FORMATS` |  | `BUILD_MINIMAL_EXAMPLE` |
| `BUILD_MINIMAL_EXAMPLE` |  | `DONE` |
| `REPORT_MISSING_CAPABILITY` |  |  |
| `ERROR` |  |  |
| `DONE` |  |  |

### Low Bandwidth Read

Read a small deterministic I/O node.

- Initial state: `INIT`
- Terminal states: `DONE`, `REPORT_MISSING_CAPABILITY`, `ERROR`

| State | Contracts | Next states |
| --- | --- | --- |
| `INIT` |  | `READ_IOAPI` |
| `READ_IOAPI` | `/io/ioapi.json` | `IDENTIFY_NODE` |
| `IDENTIFY_NODE` |  | `VALIDATE_NODE_PATH`<br>`REPORT_MISSING_CAPABILITY` |
| `VALIDATE_NODE_PATH` |  | `READ_NODE` |
| `READ_NODE` |  | `DONE` |
| `REPORT_MISSING_CAPABILITY` |  |  |
| `ERROR` |  |  |
| `DONE` |  |  |

### Runtime Language Resolution

Resolve anonymous language without identity inference.

- Initial state: `INIT`
- Terminal states: `DONE`, `ERROR`

| State | Contracts | Next states |
| --- | --- | --- |
| `INIT` |  | `READ_I18N_MANIFEST` |
| `READ_I18N_MANIFEST` | `/common/i18n/manifest.json` | `CHECK_EXPLICIT_INPUT` |
| `CHECK_EXPLICIT_INPUT` |  | `SELECT_EXPLICIT`<br>`CHECK_APP_CONFIG` |
| `CHECK_APP_CONFIG` |  | `SELECT_APP_CONFIG`<br>`CHECK_BROWSER_PREFERENCE` |
| `CHECK_BROWSER_PREFERENCE` |  | `SELECT_BROWSER`<br>`CHECK_DOCUMENT_DEFAULT` |
| `CHECK_DOCUMENT_DEFAULT` |  | `SELECT_DOCUMENT_DEFAULT`<br>`SELECT_SYSTEM_FALLBACK` |
| `SELECT_EXPLICIT` |  | `DONE` |
| `SELECT_APP_CONFIG` |  | `DONE` |
| `SELECT_BROWSER` |  | `DONE` |
| `SELECT_DOCUMENT_DEFAULT` |  | `DONE` |
| `SELECT_SYSTEM_FALLBACK` |  | `DONE` |
| `DONE` |  |  |
| `ERROR` |  |  |

