# Downstream AGENTS Snippet

Copy the block below into a downstream repo's `AGENTS.md` if that repo depends on `infra-core`.

```md
## infra-core

This repo depends on `infra-core`. Prefer its shared helpers before writing custom HTTP retry loops, polling loops, Azure Blob glue, or ad-hoc asyncio orchestration.

- Retried HTTP: `from infra_core import fetch, fetch_async, request_async`
- Status polling: `from infra_core import poll_until, poll_until_async, StatusPoller`
- Bounded async concurrency: `from infra_core import TaskRuntime, RuntimeConfig`
- File downloads with retry/checksum: `from infra_core import download_asset, download_asset_async`
- Azure Blob storage/manifests/monitoring: `from infra_core.azure import AzureStorageSettings, get_client, build_manifest, HeartbeatMonitor, RunLogWriter, TelemetryClient`
- Azure Functions / job store: `from infra_core.azure import AzureFunctionAsyncClient, AzureFunctionSyncClient, AzureTableJobStore, TableConfig`

Discovery:
- Check `infra_core.capabilities` for a task-oriented capability index.
- If this repo vendors or submodules `infra-core`, also read its `CAPABILITIES.md`.

Constraints:
- Optional Azure helpers require the `infra-core[azure]` extra.
- Prefer public `infra_core` / `infra_core.azure` imports over internal module paths.
- Prefer explicit Azure settings and mode objects over direct env-var parsing in app code.
```
