Skip to content

DM-54101 : Allow Campaigns created by CLI to auto-start#236

Merged
tcjennings merged 4 commits intomainfrom
u/tobyj/w_2026_04
Feb 10, 2026
Merged

DM-54101 : Allow Campaigns created by CLI to auto-start#236
tcjennings merged 4 commits intomainfrom
u/tobyj/w_2026_04

Conversation

@tcjennings
Copy link
Copy Markdown
Collaborator

@tcjennings tcjennings commented Jan 21, 2026

Addresses improvements in the CLI and campaigns API.

  • deprecates the "waiting" status from Campaigns, instead all campaigns are created in a "paused" state.
  • deprecates the "auto_transition" attribute from campaign configuration, instead there is no distinction between "waiting" and "paused" with which this attribute was concerned.
  • Refactors CLI application context as a pydantic model and ensures availability of campaign name and id in all commands.
  • Adds a load command to "campaigns" with a --start option, which will invoke a "campaign start" command immediately after completing a "load"
  • Adds a "strict" mode to yaml loading that allows exactly one campaign per yaml file and ensures the campaign is loaded first.

@tcjennings tcjennings changed the base branch from main to tickets/DM-52931/breakpoint January 21, 2026 22:02
@tcjennings tcjennings force-pushed the u/tobyj/w_2026_04 branch 3 times, most recently from a8f426a to 14ca480 Compare January 22, 2026 20:30
@tcjennings tcjennings marked this pull request as ready for review January 22, 2026 20:32
@tcjennings tcjennings force-pushed the tickets/DM-52931/breakpoint branch from e85baf1 to 1af4efa Compare February 5, 2026 20:38
return str(campaign_id)
except ValueError:
return str(uuid5(settings.default_namespace, campaign))
def as_snake_case(s: str) -> str:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this function unused? Just checking that something isn't missing/this isn't an accident.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I intended to use it in the campaign name preprocessor callback.

@ctslater
Copy link
Copy Markdown
Member

Not sure if there's a JIRA ticket I can't find for this, but this is a nice set of improvements. Only tiny comments.

Base automatically changed from tickets/DM-52931/breakpoint to main February 10, 2026 15:39
- Redact "waiting" (and "ready") states from campaign machine
- Make "paused" default state
- remove auto_transition spec flag
- allow force on campaigns
- ensure activity log entries even when no transition takes place
- refactor typer app context as a pydantic model
- ensure campaign name and id is always available in commands
- implement campaign load command
- implement strict mode for yaml loading
- Add strict mode definition to load option
- Give strict mode option a default
- Sanitize campaign name
@tcjennings tcjennings changed the title CLI Improvements DM-54101 : Allow Campaigns created by CLI to auto-start Feb 10, 2026
@tcjennings tcjennings merged commit 364177c into main Feb 10, 2026
6 checks passed
@tcjennings tcjennings deleted the u/tobyj/w_2026_04 branch February 10, 2026 16:12
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.

2 participants