You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SEP-1443: Decouple primary-service selection from connectivity-probe enablement (#1131)
## Summary
- Add a per-reference `primary=True` marker to `ServiceRef` so an app
can designate the envelope primary **independently** of
`check_connectivity`. Previously `check_connectivity=True` did double
duty — naming the primary *and* enabling the create-route connectivity
probe — so there was no way to express "multiple services, one
designated primary, no probe".
- `check_connectivity=True` keeps implying primary; probe enablement
(`connectivity_check`) stays keyed off `check_connectivity` alone.
Existing single-marker apps are byte-for-byte unchanged.
- `_validate_connectivity_refs` now accepts 2+ `ServiceRef` fields when
exactly one primary is designated (via either marker) and rejects
conflicting/duplicate designations with a clear `ValueError`. No app
consumes the new marker yet — opt-in, no DB migration, no wire/schema
change.
## Tested
- [x] `pytest tests/app/sep/apps/framework/` → 1590 passed, 234 skipped,
0 failed
- [x] Golden-file / OpenAPI / contract snapshots byte-identical (no
regeneration needed — wire format unchanged)
- [x] `ruff check` + `ruff format --check` clean on all changed files
- New unit tests cover: primary designation without probe, primary beats
last-resolved selection, unfilled-primary → no primary (missing-service
guard), and the four validation rejections (primary+check conflict, two
primaries, primary+multiple, redundant same-field allowed).
## Checklist
- [x] New/modified functions have type hints and rST docstrings
- [x] New tests added for new features or bug fixes
- [x] All tests pass locally (framework suite; full `make test` not
re-run)
- [x] Pre-commit hooks pass (ruff/format verified on changed files)
- [ ] Database migrations generated if models changed (`make
makemigrations`) — N/A, no model/table change
- [ ] User-facing changes documented — N/A, marker is opt-in and unused
by any app
- [ ] Configuration changes documented — N/A
- [x] Changelog fragment added under `changelog.d/`
0 commit comments