Skip to content

Syncing post v1.3.6 changes from main#350

Merged
joshvote merged 11 commits intocsipaus.org/ns/v1.3from
mainsync
Apr 29, 2026
Merged

Syncing post v1.3.6 changes from main#350
joshvote merged 11 commits intocsipaus.org/ns/v1.3from
mainsync

Conversation

@joshvote
Copy link
Copy Markdown
Contributor

No description provided.

joshvote and others added 9 commits April 9, 2026 12:51
)

* Initial skeleton

* Added mapping/test coverage

* Fixed test
* wip

* add reset script to the demo folder. We can make this more complex later.

* add rebuild tls and db init

* black

* fix other tests
* Added update admin API endpoint

* Fixed fsa_id None values appearing in FSA list
@joshvote
Copy link
Copy Markdown
Contributor Author

✅ Code coverage on mainsync is at 91% (compared to csipaus.org/ns/v1.3 being at 91%)

File Reductions

File Details
src/envoy/admin/api/site_control.py 🔻 3% (81% → 78%)
src/envoy/admin/manager/site_control.py 🔻 9% (72% → 63%)
src/envoy/notification/handler.py 🔻 2% (94% → 92%)

Full Coverage Report

File Details
src/envoy/__init__.py ✅ 100% → 100%
src/envoy/admin/__init__.py ✅ 100% → 100%
src/envoy/admin/api/__init__.py ✅ 100% → 100%
src/envoy/admin/api/aggregator.py ✅ 72% → 72%
src/envoy/admin/api/archive.py ✅ 100% → 100%
src/envoy/admin/api/certificate.py ✅ 78% → 78%
src/envoy/admin/api/config.py ✅ 100% → 100%
src/envoy/admin/api/depends.py ✅ 100% → 100%
src/envoy/admin/api/health.py ✅ 60% → 60%
src/envoy/admin/api/log.py ✅ 81% → 81%
src/envoy/admin/api/pricing.py ✅ 71% → 71%
src/envoy/admin/api/site.py ✅ 76% → 76%
src/envoy/admin/api/site_control.py 🔻 3% (81% → 78%)
src/envoy/admin/api/site_reading.py ✅ 100% → 100%
src/envoy/admin/crud/__init__.py ✅ 100% → 100%
src/envoy/admin/crud/aggregator.py ✅ 100% → 100%
src/envoy/admin/crud/archive.py ✅ 100% → 100%
src/envoy/admin/crud/billing.py ✅ 100% → 100%
src/envoy/admin/crud/certificate.py ✅ 100% → 100%
src/envoy/admin/crud/doe.py ✅ 100% → 100%
src/envoy/admin/crud/log.py ✅ 100% → 100%
src/envoy/admin/crud/pricing.py ✅ 100% → 100%
src/envoy/admin/crud/site.py ✅ 100% → 100%
src/envoy/admin/crud/site_reading.py ✅ 100% → 100%
src/envoy/admin/main.py ✅ 91% → 91%
src/envoy/admin/manager/__init__.py ✅ 100% → 100%
src/envoy/admin/manager/aggregator.py ✅ 86% → 86%
src/envoy/admin/manager/archive.py ✅ 71% → 71%
src/envoy/admin/manager/certificate.py ✅ 90% → 90%
src/envoy/admin/manager/config.py ✅ 30% → 30%
src/envoy/admin/manager/log.py ✅ 77% → 77%
src/envoy/admin/manager/pricing.py ✅ 71% → 71%
src/envoy/admin/manager/site.py ✅ 52% → 52%
src/envoy/admin/manager/site_control.py 🔻 9% (72% → 63%)
src/envoy/admin/manager/site_reading.py ✅ 64% → 64%
src/envoy/admin/mapper/__init__.py ✅ 100% → 100%
src/envoy/admin/mapper/aggregator.py ✅ 94% → 94%
src/envoy/admin/mapper/archive.py ✅ 100% → 100%
src/envoy/admin/mapper/certificate.py ✅ 100% → 100%
src/envoy/admin/mapper/log.py ✅ 100% → 100%
src/envoy/admin/mapper/pricing.py ✅ 100% → 100%
src/envoy/admin/mapper/site.py ✅ 99% → 99%
src/envoy/admin/mapper/site_control.py ✅ 100% → 100%
src/envoy/admin/mapper/site_reading.py ✅ 100% → 100%
src/envoy/admin/settings.py ✅ 100% → 100%
src/envoy/logfilters.py ✅ 0% → 0%
src/envoy/notification/__init__.py ✅ 100% → 100%
src/envoy/notification/crud/__init__.py ✅ 100% → 100%
src/envoy/notification/crud/archive.py ✅ 89% → 89%
src/envoy/notification/crud/batch.py ✅ 97% → 97%
src/envoy/notification/crud/common.py ✅ 100% → 100%
src/envoy/notification/exception.py ✅ 100% → 100%
src/envoy/notification/handler.py 🔻 2% (94% → 92%)
src/envoy/notification/main.py ✅ 0% → 0%
src/envoy/notification/manager/__init__.py ✅ 100% → 100%
src/envoy/notification/manager/notification.py ✅ 100% → 100%
src/envoy/notification/settings.py ✅ 0% → 0%
src/envoy/notification/task/__init__.py ✅ 100% → 100%
src/envoy/notification/task/check.py ✅ 97% → 97%
src/envoy/notification/task/transmit.py ✅ 90% → 90%
src/envoy/server/__init__.py ✅ 100% → 100%
src/envoy/server/alembic/__init__.py ✅ 83% → 83%
src/envoy/server/alembic/env.py ✅ 0% → 0%
src/envoy/server/api/__init__.py ✅ 100% → 100%
src/envoy/server/api/auth/__init__.py ✅ 100% → 100%
src/envoy/server/api/auth/azure.py ✅ 98% → 98%
src/envoy/server/api/auth/jwks.py ✅ 100% → 100%
src/envoy/server/api/csip_aus/__init__.py ✅ 100% → 100%
src/envoy/server/api/csip_aus/connection_point.py ✅ 64% → 64%
src/envoy/server/api/depends/allow_nmi_updates.py ✅ 100% → 100%
src/envoy/server/api/depends/azure_ad_auth.py ✅ 94% → 94%
src/envoy/server/api/depends/lfdi_auth.py ✅ 95% → 95%
src/envoy/server/api/depends/nmi_validator.py ✅ 100% → 100%
src/envoy/server/api/depends/request_state_settings.py ✅ 100% → 100%
src/envoy/server/api/error_handler.py ✅ 88% → 88%
src/envoy/server/api/query.py ✅ 100% → 100%
src/envoy/server/api/request.py ✅ 94% → 94%
src/envoy/server/api/response.py ✅ 96% → 96%
src/envoy/server/api/router.py ✅ 100% → 100%
src/envoy/server/api/sep2/__init__.py ✅ 100% → 100%
src/envoy/server/api/sep2/der.py ✅ 57% → 57%
src/envoy/server/api/sep2/derp.py ✅ 68% → 68%
src/envoy/server/api/sep2/device_capability.py ✅ 93% → 93%
src/envoy/server/api/sep2/end_device.py ✅ 80% → 80%
src/envoy/server/api/sep2/function_set_assignments.py ✅ 77% → 77%
src/envoy/server/api/sep2/log_event.py ✅ 83% → 83%
src/envoy/server/api/sep2/metering_mirror.py ✅ 61% → 61%
src/envoy/server/api/sep2/pricing.py ✅ 69% → 69%
src/envoy/server/api/sep2/response.py ✅ 85% → 85%
src/envoy/server/api/sep2/subscription.py ✅ 75% → 75%
src/envoy/server/api/sep2/time.py ✅ 96% → 96%
src/envoy/server/api/unsecured/__init__.py ✅ 100% → 100%
src/envoy/server/api/unsecured/health.py ✅ 48% → 48%
src/envoy/server/api/unsecured/version.py ✅ 100% → 100%
src/envoy/server/cache.py ✅ 93% → 93%
src/envoy/server/crud/__init__.py ✅ 100% → 100%
src/envoy/server/crud/aggregator.py ✅ 100% → 100%
src/envoy/server/crud/archive.py ✅ 100% → 100%
src/envoy/server/crud/auth.py ✅ 100% → 100%
src/envoy/server/crud/common.py ✅ 97% → 97%
src/envoy/server/crud/der.py ✅ 100% → 100%
src/envoy/server/crud/doe.py ✅ 100% → 100%
src/envoy/server/crud/health.py ✅ 88% → 88%
src/envoy/server/crud/log_event.py ✅ 100% → 100%
src/envoy/server/crud/pricing.py ✅ 100% → 100%
src/envoy/server/crud/response.py ✅ 100% → 100%
src/envoy/server/crud/server.py ✅ 100% → 100%
src/envoy/server/crud/site.py ✅ 100% → 100%
src/envoy/server/crud/site_reading.py ✅ 100% → 100%
src/envoy/server/crud/subscription.py ✅ 97% → 97%
src/envoy/server/database.py ✅ 100% → 100%
src/envoy/server/endpoint_exclusion.py ✅ 100% → 100%
src/envoy/server/exception.py ✅ 100% → 100%
src/envoy/server/lifespan.py ✅ 83% → 83%
src/envoy/server/main.py ✅ 98% → 98%
src/envoy/server/manager/__init__.py ✅ 100% → 100%
src/envoy/server/manager/der.py ✅ 99% → 99%
src/envoy/server/manager/der_constants.py ✅ 100% → 100%
src/envoy/server/manager/derp.py ✅ 100% → 100%
src/envoy/server/manager/device_capability.py ✅ 100% → 100%
src/envoy/server/manager/end_device.py ✅ 96% → 96%
src/envoy/server/manager/function_set_assignments.py ✅ 100% → 100%
src/envoy/server/manager/health.py ✅ 83% → 83%
src/envoy/server/manager/log_event.py ✅ 100% → 100%
src/envoy/server/manager/metering.py ✅ 99% → 99%
src/envoy/server/manager/nmi_validator.py ✅ 97% → 97%
src/envoy/server/manager/pricing.py ✅ 56% → 56%
src/envoy/server/manager/response.py ✅ 92% → 92%
src/envoy/server/manager/server.py ✅ 100% → 100%
src/envoy/server/manager/subscription.py ✅ 98% → 98%
src/envoy/server/manager/time.py ✅ 92% → 92%
src/envoy/server/mapper/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/common.py ✅ 92% → 92%
src/envoy/server/mapper/constants.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/connection_point.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/doe.py ✅ 98% → 98%
src/envoy/server/mapper/sep2/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/der.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/device_capability.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/end_device.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/function_set_assignments.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/log_event.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/metering.py ✅ 99% → 99%
src/envoy/server/mapper/sep2/mrid.py ✅ 90% → 90%
src/envoy/server/mapper/sep2/pricing.py ✅ 99% → 99%
src/envoy/server/mapper/sep2/pub_sub.py ✅ 92% → 92%
src/envoy/server/mapper/sep2/response.py ✅ 98% → 99%
src/envoy/server/model/__init__.py ✅ 100% → 100%
src/envoy/server/model/aggregator.py ✅ 100% → 100%
src/envoy/server/model/archive/__init__.py ✅ 100% → 100%
src/envoy/server/model/archive/base.py ✅ 100% → 100%
src/envoy/server/model/archive/doe.py ✅ 100% → 100%
src/envoy/server/model/archive/site.py ✅ 100% → 100%
src/envoy/server/model/archive/site_reading.py ✅ 100% → 100%
src/envoy/server/model/archive/subscription.py ✅ 100% → 100%
src/envoy/server/model/archive/tariff.py ✅ 100% → 100%
src/envoy/server/model/base.py ✅ 100% → 100%
src/envoy/server/model/config/server.py ✅ 100% → 100%
src/envoy/server/model/constants.py ✅ 100% → 100%
src/envoy/server/model/doe.py ✅ 100% → 100%
src/envoy/server/model/log.py ✅ 100% → 100%
src/envoy/server/model/response.py ✅ 100% → 100%
src/envoy/server/model/server.py ✅ 100% → 100%
src/envoy/server/model/site.py ✅ 100% → 100%
src/envoy/server/model/site_reading.py ✅ 100% → 100%
src/envoy/server/model/subscription.py ✅ 100% → 100%
src/envoy/server/model/tariff.py ✅ 100% → 100%
src/envoy/server/request_scope.py ✅ 98% → 98%
src/envoy/server/settings.py ✅ 98% → 98%
src/envoy/server/tasks.py ✅ 100% → 100%
src/envoy/settings.py ✅ 100% → 100%
TOTAL ✅ 91% → 91%

LachlanJW and others added 2 commits April 28, 2026 16:34
* ensure NMI validation in docker compose

* wip

* wip

* WIP

* tests

* done
@joshvote
Copy link
Copy Markdown
Contributor Author

💔 Code coverage on mainsync has reduced to 90% (compared to csipaus.org/ns/v1.3 being at 91%)

File Reductions

File Details
src/envoy/admin/api/site_control.py 🔻 3% (81% → 78%)
src/envoy/admin/manager/config.py 🔻 2% (30% → 28%)
src/envoy/admin/manager/site_control.py 🔻 9% (72% → 63%)
TOTAL 🔻 1% (91% → 90%)

Full Coverage Report

File Details
src/envoy/__init__.py ✅ 100% → 100%
src/envoy/admin/__init__.py ✅ 100% → 100%
src/envoy/admin/api/__init__.py ✅ 100% → 100%
src/envoy/admin/api/aggregator.py ✅ 72% → 72%
src/envoy/admin/api/archive.py ✅ 100% → 100%
src/envoy/admin/api/certificate.py ✅ 78% → 78%
src/envoy/admin/api/config.py ✅ 100% → 100%
src/envoy/admin/api/depends.py ✅ 100% → 100%
src/envoy/admin/api/health.py ✅ 60% → 60%
src/envoy/admin/api/log.py ✅ 81% → 81%
src/envoy/admin/api/pricing.py ✅ 71% → 71%
src/envoy/admin/api/site.py ✅ 76% → 76%
src/envoy/admin/api/site_control.py 🔻 3% (81% → 78%)
src/envoy/admin/api/site_reading.py ✅ 100% → 100%
src/envoy/admin/crud/__init__.py ✅ 100% → 100%
src/envoy/admin/crud/aggregator.py ✅ 100% → 100%
src/envoy/admin/crud/archive.py ✅ 100% → 100%
src/envoy/admin/crud/billing.py ✅ 100% → 100%
src/envoy/admin/crud/certificate.py ✅ 100% → 100%
src/envoy/admin/crud/doe.py ✅ 100% → 100%
src/envoy/admin/crud/log.py ✅ 100% → 100%
src/envoy/admin/crud/pricing.py ✅ 100% → 100%
src/envoy/admin/crud/site.py ✅ 100% → 100%
src/envoy/admin/crud/site_reading.py ✅ 100% → 100%
src/envoy/admin/main.py ✅ 91% → 91%
src/envoy/admin/manager/__init__.py ✅ 100% → 100%
src/envoy/admin/manager/aggregator.py ✅ 86% → 86%
src/envoy/admin/manager/archive.py ✅ 71% → 71%
src/envoy/admin/manager/certificate.py ✅ 90% → 90%
src/envoy/admin/manager/config.py 🔻 2% (30% → 28%)
src/envoy/admin/manager/log.py ✅ 77% → 77%
src/envoy/admin/manager/pricing.py ✅ 71% → 71%
src/envoy/admin/manager/site.py ✅ 52% → 52%
src/envoy/admin/manager/site_control.py 🔻 9% (72% → 63%)
src/envoy/admin/manager/site_reading.py ✅ 64% → 64%
src/envoy/admin/mapper/__init__.py ✅ 100% → 100%
src/envoy/admin/mapper/aggregator.py ✅ 94% → 94%
src/envoy/admin/mapper/archive.py ✅ 100% → 100%
src/envoy/admin/mapper/certificate.py ✅ 100% → 100%
src/envoy/admin/mapper/log.py ✅ 100% → 100%
src/envoy/admin/mapper/pricing.py ✅ 100% → 100%
src/envoy/admin/mapper/site.py ✅ 99% → 99%
src/envoy/admin/mapper/site_control.py ✅ 100% → 100%
src/envoy/admin/mapper/site_reading.py ✅ 100% → 100%
src/envoy/admin/settings.py ✅ 100% → 100%
src/envoy/logfilters.py ✅ 0% → 0%
src/envoy/notification/__init__.py ✅ 100% → 100%
src/envoy/notification/crud/__init__.py ✅ 100% → 100%
src/envoy/notification/crud/archive.py ✅ 89% → 89%
src/envoy/notification/crud/batch.py ✅ 97% → 97%
src/envoy/notification/crud/common.py ✅ 100% → 100%
src/envoy/notification/exception.py ✅ 100% → 100%
src/envoy/notification/handler.py ✅ 94% → 94%
src/envoy/notification/main.py ✅ 0% → 0%
src/envoy/notification/manager/__init__.py ✅ 100% → 100%
src/envoy/notification/manager/notification.py ✅ 100% → 100%
src/envoy/notification/settings.py ✅ 0% → 0%
src/envoy/notification/task/__init__.py ✅ 100% → 100%
src/envoy/notification/task/check.py ✅ 97% → 97%
src/envoy/notification/task/transmit.py ✅ 88% → 88%
src/envoy/server/__init__.py ✅ 100% → 100%
src/envoy/server/alembic/__init__.py ✅ 83% → 83%
src/envoy/server/alembic/env.py ✅ 0% → 0%
src/envoy/server/api/__init__.py ✅ 100% → 100%
src/envoy/server/api/auth/__init__.py ✅ 100% → 100%
src/envoy/server/api/auth/azure.py ✅ 98% → 98%
src/envoy/server/api/auth/jwks.py ✅ 100% → 100%
src/envoy/server/api/csip_aus/__init__.py ✅ 100% → 100%
src/envoy/server/api/csip_aus/connection_point.py ✅ 64% → 64%
src/envoy/server/api/depends/allow_nmi_updates.py ✅ 100% → 100%
src/envoy/server/api/depends/azure_ad_auth.py ✅ 94% → 94%
src/envoy/server/api/depends/lfdi_auth.py ✅ 95% → 95%
src/envoy/server/api/depends/nmi_validator.py ✅ 100% → 100%
src/envoy/server/api/depends/request_state_settings.py ✅ 100% → 100%
src/envoy/server/api/error_handler.py ✅ 88% → 88%
src/envoy/server/api/query.py ✅ 100% → 100%
src/envoy/server/api/request.py ✅ 94% → 94%
src/envoy/server/api/response.py ✅ 96% → 96%
src/envoy/server/api/router.py ✅ 100% → 100%
src/envoy/server/api/sep2/__init__.py ✅ 100% → 100%
src/envoy/server/api/sep2/der.py ✅ 57% → 57%
src/envoy/server/api/sep2/derp.py ✅ 68% → 68%
src/envoy/server/api/sep2/device_capability.py ✅ 93% → 93%
src/envoy/server/api/sep2/end_device.py ✅ 80% → 80%
src/envoy/server/api/sep2/function_set_assignments.py ✅ 77% → 77%
src/envoy/server/api/sep2/log_event.py ✅ 83% → 83%
src/envoy/server/api/sep2/metering_mirror.py ✅ 61% → 61%
src/envoy/server/api/sep2/pricing.py ✅ 69% → 69%
src/envoy/server/api/sep2/response.py ✅ 85% → 85%
src/envoy/server/api/sep2/subscription.py ✅ 75% → 75%
src/envoy/server/api/sep2/time.py ✅ 96% → 96%
src/envoy/server/api/unsecured/__init__.py ✅ 100% → 100%
src/envoy/server/api/unsecured/health.py ✅ 48% → 48%
src/envoy/server/api/unsecured/version.py ✅ 100% → 100%
src/envoy/server/cache.py ✅ 93% → 93%
src/envoy/server/crud/__init__.py ✅ 100% → 100%
src/envoy/server/crud/aggregator.py ✅ 100% → 100%
src/envoy/server/crud/archive.py ✅ 100% → 100%
src/envoy/server/crud/auth.py ✅ 100% → 100%
src/envoy/server/crud/common.py ✅ 97% → 97%
src/envoy/server/crud/der.py ✅ 100% → 100%
src/envoy/server/crud/doe.py ✅ 100% → 100%
src/envoy/server/crud/health.py ✅ 88% → 88%
src/envoy/server/crud/log_event.py ✅ 100% → 100%
src/envoy/server/crud/pricing.py ✅ 100% → 100%
src/envoy/server/crud/response.py ✅ 100% → 100%
src/envoy/server/crud/server.py ✅ 100% → 100%
src/envoy/server/crud/site.py ✅ 100% → 100%
src/envoy/server/crud/site_reading.py ✅ 100% → 100%
src/envoy/server/crud/subscription.py ✅ 97% → 97%
src/envoy/server/database.py ✅ 100% → 100%
src/envoy/server/endpoint_exclusion.py ✅ 100% → 100%
src/envoy/server/exception.py ✅ 100% → 100%
src/envoy/server/lifespan.py ✅ 83% → 83%
src/envoy/server/main.py ✅ 98% → 98%
src/envoy/server/manager/__init__.py ✅ 100% → 100%
src/envoy/server/manager/der.py ✅ 99% → 99%
src/envoy/server/manager/der_constants.py ✅ 100% → 100%
src/envoy/server/manager/derp.py ✅ 100% → 100%
src/envoy/server/manager/device_capability.py ✅ 100% → 100%
src/envoy/server/manager/end_device.py ✅ 96% → 96%
src/envoy/server/manager/function_set_assignments.py ✅ 100% → 100%
src/envoy/server/manager/health.py ✅ 83% → 83%
src/envoy/server/manager/log_event.py ✅ 100% → 100%
src/envoy/server/manager/metering.py ✅ 99% → 99%
src/envoy/server/manager/nmi_validator.py ✅ 97% → 97%
src/envoy/server/manager/pricing.py ✅ 56% → 56%
src/envoy/server/manager/response.py ✅ 92% → 92%
src/envoy/server/manager/server.py ✅ 100% → 100%
src/envoy/server/manager/subscription.py ✅ 98% → 98%
src/envoy/server/manager/time.py ✅ 92% → 92%
src/envoy/server/mapper/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/common.py ✅ 92% → 92%
src/envoy/server/mapper/constants.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/connection_point.py ✅ 100% → 100%
src/envoy/server/mapper/csip_aus/doe.py ✅ 98% → 98%
src/envoy/server/mapper/sep2/__init__.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/der.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/device_capability.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/end_device.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/function_set_assignments.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/log_event.py ✅ 100% → 100%
src/envoy/server/mapper/sep2/metering.py ✅ 99% → 99%
src/envoy/server/mapper/sep2/mrid.py ✅ 90% → 90%
src/envoy/server/mapper/sep2/pricing.py ✅ 99% → 99%
src/envoy/server/mapper/sep2/pub_sub.py ✅ 92% → 92%
src/envoy/server/mapper/sep2/response.py ✅ 98% → 99%
src/envoy/server/model/__init__.py ✅ 100% → 100%
src/envoy/server/model/aggregator.py ✅ 100% → 100%
src/envoy/server/model/archive/__init__.py ✅ 100% → 100%
src/envoy/server/model/archive/base.py ✅ 100% → 100%
src/envoy/server/model/archive/doe.py ✅ 100% → 100%
src/envoy/server/model/archive/site.py ✅ 100% → 100%
src/envoy/server/model/archive/site_reading.py ✅ 100% → 100%
src/envoy/server/model/archive/subscription.py ✅ 100% → 100%
src/envoy/server/model/archive/tariff.py ✅ 100% → 100%
src/envoy/server/model/base.py ✅ 100% → 100%
src/envoy/server/model/config/server.py ✅ 100% → 100%
src/envoy/server/model/constants.py ✅ 100% → 100%
src/envoy/server/model/doe.py ✅ 100% → 100%
src/envoy/server/model/log.py ✅ 100% → 100%
src/envoy/server/model/response.py ✅ 100% → 100%
src/envoy/server/model/server.py ✅ 100% → 100%
src/envoy/server/model/site.py ✅ 100% → 100%
src/envoy/server/model/site_reading.py ✅ 100% → 100%
src/envoy/server/model/subscription.py ✅ 100% → 100%
src/envoy/server/model/tariff.py ✅ 100% → 100%
src/envoy/server/request_scope.py ✅ 98% → 98%
src/envoy/server/settings.py ✅ 98% → 98%
src/envoy/server/tasks.py ✅ 100% → 100%
src/envoy/settings.py ✅ 100% → 100%
TOTAL 🔻 1% (91% → 90%)

@joshvote joshvote merged commit dc475e9 into csipaus.org/ns/v1.3 Apr 29, 2026
12 checks passed
@joshvote joshvote deleted the mainsync branch April 29, 2026 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants