Skip to content

outerbounds/model-promotion-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Model Promotion Pipeline Example

A fraud detection pipeline demonstrating model promotion across branches.

Feature Where What it does
@project_schedule TrainFlow Cron schedule on main only; other branches deploy without a schedule
@project_trigger EvaluateFlow Automatically runs when TrainFlow publishes training_complete
promote_assets CI workflow Promotes assets from feature branch to main on PR merge

Pipeline

Feature branch:
  TrainFlow (manual trigger) → EvaluateFlow (pass/fail gate) → ReportFlow

On PR merge:
  CI promotes assets to main with @candidate → teardown feature branch

Main branch:
  TrainFlow (weekday 8 AM ET cron) → EvaluateFlow → ReportFlow

Main vs Feature Branches

On a feature branch:

  • TrainFlow deploys but has no cron (triggered manually)
  • EvaluateFlow auto-triggers after training, reports pass/fail
  • Models stay on the feature branch until PR merge

On PR merge:

  • CI runs promote_assets() to copy assets to main with @candidate alias
  • CI tears down the feature branch (flows, assets, metadata)

On main:

  • TrainFlow runs on a cron (0 8 * * 1-5 ET)
  • EvaluateFlow auto-triggers after training
  • ReportFlow prints the latest model

Local Development

# Train
python flows/train/flow.py run

# Evaluate (requires a registered model from TrainFlow)
python flows/evaluate/flow.py run

# Report
python flows/report/flow.py run

Deploying

Push to GitHub. The CI pipeline handles three lifecycle events:

  1. Push — deploys flows to the platform (main gets cron, feature branches don't)
  2. PR merge — promotes assets to main with @candidate, then tears down the feature branch
  3. Branch delete — tears down branch resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages