Skip to content

feat: add chapkit_simple_multistep_model compose overlay#291

Draft
mortenoh wants to merge 2 commits into
masterfrom
feat/multistep-compose-overlay
Draft

feat: add chapkit_simple_multistep_model compose overlay#291
mortenoh wants to merge 2 commits into
masterfrom
feat/multistep-compose-overlay

Conversation

@mortenoh

Copy link
Copy Markdown
Contributor

Summary

  • Adds compose.multistep.yml, a docker compose overlay for the chap-models/chapkit_simple_multistep_model chapkit service, mirroring the existing compose.ewars.yml pattern.
  • Image is pulled from ghcr.io/chap-models/chapkit_simple_multistep_model:latest (public, multi-arch — no platform: pin needed).
  • Uses host port 5003:8000 (EWARS holds 5002) and the same urllib healthcheck probe that EWARS ships with.

How I tested

Brought the stack up with docker compose -f compose.yml -f compose.multistep.yml up -d against a local DHIS2 and walked through the modeling app end-to-end:

  • Service self-registered to chap-core's /v2/services registry, template synced with healthStatus=live, usesChapkit=true.
  • _sync_chapkit_configured_models pulled the defaulted additional_continuous_covariates (rainfall, mean_temperature, mean_relative_humidity) from the chapkit service onto the configured-model row.
  • Prediction via the modeling app: Success in 8 s.
  • Evaluation via the modeling app: dry run Valid import: 18/18, full import Success in 33 s.

Notes

  • Target Makefile wiring (make restart / make chap-version) still references only the EWARS overlay. Intentionally leaving it alone in this PR — happy to follow up if we want the default dev stack to include this service too.
  • DHIS2's bundled Lao PDR dataset has no province-level mean_relative_humidity data item, so the default configured model (which includes humidity) can't pass _validate_full_dataset. Tested against a sibling configured model with additional_continuous_covariates=["rainfall","mean_temperature"] to bypass that. No code change needed in chap-core — just a data shape the bundled sample doesn't cover.

Test plan

  • docker compose -f compose.yml -f compose.multistep.yml config parses cleanly
  • multistep container reaches (healthy) status
  • /v2/services lists chapkit-simple-multistep-model
  • Prediction through the modeling app completes end-to-end
  • Evaluation through the modeling app completes end-to-end

mortenoh and others added 2 commits April 16, 2026 14:36
Mirrors compose.ewars.yml for the simple multistep chapkit model.
Image is multi-arch on GHCR so no platform pin is needed; host port
5003 avoids collision with the EWARS overlay on 5002.
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.

1 participant