# ModelHub XC agent contrib — Phase1 # Allowed: test / build / smoke-health / dry-run # FORBIDDEN: register / submit / deploy / push targets .PHONY: build-config-dry probe-readonly test build smoke-health dry-run dry-run-pending help PYTHON ?= python3 IMAGE ?= modelhub-agent-contrib:local PORT ?= 8080 help: @echo "build-config-dry generate YAML via API (requires token; never creates task)" @echo "probe-readonly authenticated read-only task/page GET" @echo "dry-run-pending read-only adapt pending A→B report" @echo "test stdlib unit tests + offline SIGTERM integration" @echo "build Docker build using platform base (needs Docker + TCR access)" @echo "smoke-health local HTTP smoke (needs sockets; default test STRATEGY_ID)" @echo "dry-run read-only pending report (example fallback)" @echo "No register/submit/deploy/push — live defaults on; ALLOW_LIVE_SUBMIT=0 stops live." test: $(PYTHON) -m unittest discover -s tests -v build: @command -v docker >/dev/null 2>&1 || { \ echo "ERROR: docker not found. See docs/build-notes.md"; \ exit 1; \ } docker build -t $(IMAGE) . smoke-health: $(PYTHON) scripts/smoke_health.py dry-run: $(PYTHON) scripts/dry_run.py dry-run-pending: PENDING_SUBMIT_MD=/workspace/modelhub-adapt/pending-submit.md PENDING_SUBMIT_TXT=/workspace/modelhub-adapt/pending-submit.txt $(PYTHON) scripts/dry_run.py probe-readonly: $(PYTHON) scripts/probe_readonly.py build-config-dry: $(PYTHON) scripts/build_config_dry.py