fix(workers): prevent uvloop from setting global event loop policy in healthcheck
uvicorn ā¤0.35.0 with uvloop installed sets a global uvloop.EventLoopPolicy()
when starting, which breaks subprocess spawning when a SelectorEventLoop is
used (uvloop's policy doesn't implement get_child_watcher()).
This adds loop="asyncio" to the healthcheck uvicorn config to prevent this,
and updates settings access to use the new get_current_settings() pattern.
Fixes #19658
š¤ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Remove validation_alias from new settings and add AGENTS.md
- Remove unnecessary validation_alias from queue_max_size and
max_flush_retries (only needed for backward compatibility)
- Add src/prefect/settings/AGENTS.md documenting settings patterns
- Use settings object instead of legacy PREFECT_* constants in trim()
- Use logger format string instead of f-string
š¤ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move heartbeat setting from runner to flows
- Add flows.heartbeat_frequency with PREFECT_RUNNER_HEARTBEAT_FREQUENCY alias
- Add deprecation warning when accessing runner.heartbeat_frequency
- Update flow_engine to use flows.heartbeat_frequency
- Update docs and tests
š¤ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>