Phase1 skeleton: replace demo main.py with src.server contract

- Overlay ModelHub XC Phase1 (health/status, STRATEGY_ID gate, dry-run)
- Dockerfile CMD -> python -m src.server; FROM stays platform TCR base
- Remove demo main.py and requirements.txt (stdlib only)
- Add tests/, scripts/, docs/, Makefile, config/examples (no secrets)
This commit is contained in:
VC_noSugar
2026-10-16 15:47:10 +08:00
parent 26351cefee
commit 0d0f3b611a
31 changed files with 1436 additions and 106 deletions

32
Makefile Normal file
View File

@@ -0,0 +1,32 @@
# ModelHub XC agent contrib — Phase1
# Allowed: test / build / smoke-health / dry-run
# FORBIDDEN: register / submit / deploy / push targets
.PHONY: test build smoke-health dry-run help
PYTHON ?= python3
IMAGE ?= modelhub-agent-contrib:local
PORT ?= 8080
help:
@echo "test stdlib unit tests + local SIGTERM integration (needs sockets)"
@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 local example report; pending-submit integration outstanding"
@echo "No register/submit/deploy/push — Phase1 hard boundary."
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