MLCC v1.5.0 Release Notes¶
Release date: 2026-07-27
Highlights¶
Script contract system¶
Every do/ script now carries a machine-readable @mlcc-script annotation declaring its type, guard, lifecycle, and supported targets. A shared script-contract.sh library auto-enforces the declared guard before any AWS call — deployment-centric scripts fail fast with a clear message and exit code 3 if the required deployment isn't active, rather than failing deep inside the AWS SDK.
do/register gains --with-endpoint and --with-metrics flags for optional deployment-dependent enrichment. The default do/register (no flags) now works from any project state — no deployment needed to register a model artifact to the Model Package Group.
Cross-profile portability¶
Projects no longer hardcode your AWS account ID or region. S3 bucket names are resolved at runtime from the active bootstrap profile via a new _resolve_bucket <purpose> helper. Secret ARNs (HuggingFace tokens, NGC keys) move from do/config into the bootstrap profile's secrets map, where they travel with the active account when you switch profiles.
mcc bootstrap add-secret hfToken <arn> registers a secret into the active profile. New projects stop storing secret ARNs in do/config entirely.
do/stage now writes the staged S3 path to STAGED_MODEL_PATH instead of overwriting MODEL_NAME. Your HuggingFace model ID is preserved across staging runs.
Reasoning MCP server¶
servers/reasoning/ provides a new interpret(context, data, objective) tool backed by Amazon Bedrock. When you run do/benchmark --recommend, an AI Interpretation block now appears below the recommendation table, explaining the configuration suggestions and flagging any interaction risks in plain language.
The reasoning provider is configurable — set MCC_PROVIDER=claude-direct and ANTHROPIC_API_KEY=... to route through the Anthropic API directly instead of Bedrock.
HyperPod LoRA hot-loading¶
do/adapter now supports HyperPod (EKS) deployments. Enable LoRA with HP_LORA_ENABLED=true in do/config, redeploy, then:
do/adapter --load-lora <name> --weights s3://... # instant hot-load, no pod restart
do/adapter --unload-lora <name>
do/adapter list
Breaking Changes¶
managed-inference → realtime-inference¶
The deployment target identifier managed-inference is renamed to realtime-inference to match SageMaker's own terminology. managed-inference and the short alias n continue to work with a deprecation warning.
Action: Update DEPLOYMENT_TARGET in your do/config files on next mcc regenerate. Or set it manually:
mlcc-models-* → mlcc-core-*¶
The core S3 bucket (model weights, lifecycle scripts, benchmarks) is renamed from mlcc-models-<account>-<region> to mlcc-core-<account>-<region>. Existing buckets are not renamed automatically — backward compat is maintained via the modelsS3Bucket profile key alias.
Action: Re-provision core module to get the renamed bucket. Existing deployments continue working as-is.
do/stage — MODEL_NAME vs STAGED_MODEL_PATH¶
do/stage no longer overwrites MODEL_NAME with the staged S3 URI. The staged path is written to STAGED_MODEL_PATH instead. MODEL_NAME retains the original HuggingFace model ID.
Action: If your custom scripts read MODEL_NAME after staging and expect an S3 URI, update them to read STAGED_MODEL_PATH with a MODEL_NAME fallback.
mcc configure removed¶
The configure command was a stub that printed CLI examples. It has been removed. Use mcc --help or the documentation at https://awslabs.github.io/ml-container-creator/ instead.
What's New¶
BL071 — do/ Script Contract System¶
@mlcc-scriptcontract headers on all 23do/scripts- New
do/lib/script-contract.sh— 6 guard functions, auto-enforcement on source, exit code 3 for violations do/registerredesigned: default = MPG only (guard: none);--with-endpoint,--with-metricsescalate inline;--icdeprecatedagent-knowledgeserver extended to returntype,guard,lifecycle,targetsper script
BL076 — Cross-Profile Portability¶
_resolve_bucket <purpose>indo/lib/profile.sh- Profile
secretsmap +mcc bootstrap add-secret <type> <arn> do/lib/secrets.shfalls back to_PROFILE_secrets_hfToken/_PROFILE_secrets_ngcApiKeydo/stagewritesSTAGED_MODEL_PATHinstead of overwritingMODEL_NAME
BL061 — Reasoning MCP Server¶
servers/reasoning/—interpret(context, data, objective)tool- Bedrock provider (configurable; Claude direct API also supported via
MCC_PROVIDER=claude-direct) do/benchmark --recommendshows AI Interpretation block- Registered in
config/agent.jsonmcpServers andconfig/mcp.json
BL065 — HyperPod LoRA Hot-Loading¶
do/adapter --load-lora,--unload-lora,listfor HyperPod targets- New
templates/do/lib/python/lora_vllm.pyREST client HP_LORA_ENABLEDconfig var;deployment.yamlconditional--enable-lora
BL067 — HF Token Secrets Discovery¶
mcc generatediscovers existing Secrets Manager ARNs by name pattern (huggingface*,hf-token*)- List-type prompt presents found secrets as choices
- Inline secret creation flow: enter token → create secret → ARN stored in profile
BL074 — Claude Direct API for mcc hey¶
MCC_PROVIDER=claude-direct+ANTHROPIC_API_KEYroutesmcc heythrough Anthropic directly- Or set
"provider": "claude-direct"inconfig/agent.json
interactive-deploy-ux¶
- Deploy-time interactive prompts for all 4 targets (realtime, async, batch, HyperPod)
- MCP-backed instance sizing, endpoint selection, cluster picking
- Per-target status tracking in
do/config do/deploy --status,do/deploy --dry-run
BL072 — mlcc-core bucket rename¶
- All S3 bucket naming updated from
mlcc-models-*tomlcc-core-* - Backward compat via
modelsS3Bucketprofile key alias
BL073 — realtime-inference rename¶
managed-inference→realtime-inferenceas canonical target identifierdeploy.d/realtime-inference,clean.d/realtime-inference- Deprecated aliases:
managed-inference,n,realtime,managed
Bug Fixes¶
| ID | Fix |
|---|---|
| BL047 | do/adapter staging job errors are now visible — stderr routed to temp file instead of being swallowed by 2>/dev/null |
| BL053 | SGLang architecture sync no longer tries to fetch the deleted model_registry.py — skips with ⏭ skipped message |
| BL068 | Build-time model weights prompt removed — was [EXPERIMENTAL], never validated end-to-end |
| BL070 | cw_log_forwarder.py removed — SageMaker IC natively routes container logs to CloudWatch |
| BL077 | Three template-manager.js validators fixed — mcc regenerate no longer fails on pre-v1.4 projects with hyperpod-eks deployment target, benchmark target gate, or shell variable syntax in saved params |
| BL069 | mcc configure stub command removed; registry command description updated |
Known Issues¶
| Issue | Status |
|---|---|
| LoRA on MoE models (GPT-OSS-120B) may OOM due to per-expert LoRA pre-allocation in vLLM | Upstream vLLM issue — monitor vLLM releases; workaround: disable LoRA on MoE models |
| HyperPod flexible instance groups can enter zombie scaling state | Use fixed instance types; flexible groups are experimental |
Upgrade¶
See Breaking Changes above for migration details.