Skip to content

fix: CLI interactive mode respects --name arg; correct compose images - #292

Merged
RyanTheRobothead merged 1 commit into
sila_node_clientfrom
cli_fixes
Apr 28, 2026
Merged

fix: CLI interactive mode respects --name arg; correct compose images#292
RyanTheRobothead merged 1 commit into
sila_node_clientfrom
cli_fixes

Conversation

@RyanTheRobothead

Copy link
Copy Markdown
Member

Summary

  • Interactive mode ignored --name: madsci new lab -n my_lab (and all other madsci new subcommands) silently discarded the -n/--name argument when running in interactive mode (the default). collect_parameters_interactive() now accepts an overrides dict, and generate_from_template() passes CLI-provided names through it. All 7 parameter types (string, integer, float, boolean, choice, multi_choice, path) respect overrides.
  • Wrong Docker Compose image names: Generated compose templates referenced nonexistent local images (e.g., madsci-squid:latest, madsci-event-manager:latest). Updated to the actual GHCR images: ghcr.io/ad-sdl/madsci_dashboard:latest for lab_manager, ghcr.io/ad-sdl/madsci:latest for all other services. Removed stale build: section from lab_manager. Fixed in both standard and distributed lab templates.

Test plan

  • 10 new unit tests for collect_parameters_interactive overrides (one per parameter type + defaults + isolation)
  • Integration test: madsci new lab -n my_custom_lab creates correctly-named output directory
  • All 20 tests in test_new.py pass
  • All pre-commit hooks pass

🤖 Generated with Claude Code

… images

Two bug fixes:

1. `madsci new lab -n <name>` (and other `madsci new` subcommands) ignored
   the -n/--name argument when running in interactive mode (the default).
   The interactive prompt function now accepts an overrides dict so
   CLI-provided values are used as defaults for all 7 parameter types
   (string, integer, float, boolean, choice, multi_choice, path).

2. Generated Docker Compose templates used nonexistent local image names
   (e.g. `madsci-squid:latest`). Updated to use the correct GHCR images:
   `ghcr.io/ad-sdl/madsci_dashboard:latest` for lab_manager and
   `ghcr.io/ad-sdl/madsci:latest` for all other services. Also removed
   the stale `build:` section from lab_manager.

Adds 10 regression tests covering overrides for every parameter type.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@RyanTheRobothead
RyanTheRobothead changed the base branch from main to unstable April 16, 2026 18:25
@RyanTheRobothead
RyanTheRobothead changed the base branch from unstable to sila_node_client April 16, 2026 18:25
@github-actions

Copy link
Copy Markdown

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  src/madsci_client/madsci/client
  data_client.py
  event_client.py
  experiment_client.py
  lab_client.py
  location_client.py
  resource_client.py
  workcell_client.py
  src/madsci_client/madsci/client/cli
  __init__.py
  src/madsci_client/madsci/client/cli/commands
  logs.py
  new.py 112, 131, 262-270
  run.py
  status.py
  validate.py
  src/madsci_client/madsci/client/cli/tui/screens
  dashboard.py
  logs.py
  nodes.py
  status.py
  workflows.py
  src/madsci_client/madsci/client/cli/utils
  output.py
  src/madsci_client/madsci/client/node
  rest_node_client.py
  src/madsci_common/madsci/common/types
  workflow_types.py
  src/madsci_experiment_application/madsci/experiment_application
  experiment_base.py
  src/madsci_location_manager/madsci/location_manager
  location_server.py
  location_state_handler.py
  src/madsci_workcell_manager/madsci/workcell_manager
  workcell_server.py
Project Total  

The report is truncated to 25 files out of 55. To see the full report, please visit the workflow summary page.

This report was generated by python-coverage-comment-action

@RyanTheRobothead
RyanTheRobothead merged commit 84ebb39 into sila_node_client Apr 28, 2026
4 checks passed
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