Skip to content

Implement model preparation and managed serving lifecycle - #1

Merged
kvnxiao merged 12 commits into
mainfrom
feat/managed-model-serving
Sep 20, 2026
Merged

kvnxiao merged 12 commits into
mainfrom
feat/managed-model-serving

Conversation

@kvnxiao

@kvnxiao kvnxiao commented Sep 20, 2026 •

Copy link
Copy Markdown
Owner

The CLI now prepares model artifacts and images, starts one managed model at a time, and coordinates its companions through rootless Podman and explicitly selected podman-compose 1.5.0.

  • Adds configuration validation, action plans, explicit preparation, background start/stop/restart/switch operations, readiness checks, status, logs, and CDI generation.
  • Records ownership and resolved dependencies for shutdown and recovery without the current Compose file. Checks prerequisites before switching, retains unchanged companions, and preserves usable artifacts when downloads fail.
  • Adds usage and recovery documentation, user-owned Compose examples, and isolated tests. Uses Jiff for durations, Camino for paths, and fs-err for filesystem errors. Cargo requirements permit compatible upgrades.
  • Uses assert_cmd and escargot with native Rust fake tools for integration tests. The optional provider contract test uses an externally installed provider; repository tests and tasks do not install interpreter dependencies.
  • Adds dprint for Markdown, YAML, JSON/JSONC, TOML, and HTML/XML through just fmt and CI formatting checks. The .agents directory is excluded.

Validation:

  • just verify: Rust and dprint formatting, Clippy, rustdoc, 36 tests, dependency audit, unused-dependency check, and build passed.
  • just test-provider: installed podman-compose 1.5.0 with native fake Podman passed through both PATH discovery and an explicit provider override. No live containers or models ran.
  • just check-msrv passed for both workspace members on Rust 1.98.1.
  • Both example entries validated through the selected provider. Final specification conformance review reported no remaining actionable findings.

Live Linux/WSL2 GPU serving remains unverified. The local specification is excluded from this PR.

Add explicit image and model preparation, background lifecycle operations,
readiness checks, and recorded resource ownership through rootless Podman.
Preserve active deployments on preflight failure and managed artifacts on
failed preparation. Add isolated runtime tests, provider contract coverage,
usage documentation, and Compose examples.
Add Markdown, YAML, JSON, TOML, and HTML/XML formatters to shared local
and CI tasks. Apply formatting to repository files and document setup.
Exclude .agents and restore its files to their pre-formatting contents.
Document the formatter exclusion.
Build isolated fake host executables with escargot and report CLI failures
with assert_cmd. Keep fixture behavior in an unpublished workspace member.
Run provider contract checks against an externally installed provider and
remove the script fixture and automatic tool installation.
@kvnxiao
kvnxiao merged commit bec16d1 into main Sep 20, 2026
3 checks passed
@kvnxiao
kvnxiao deleted the feat/managed-model-serving branch September 20, 2026 08:41
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