promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_

Feature pipeline contracts — step 7 of 7

Checkpoint

One last thing before we move on. pass this to mark the lesson done, or skip and keep moving. hop to the next when you're ready.

Version a feature like code. Implement logins_30d_v1 (counts all events) and logins_30d_v2 (excludes "bot" events), compute both on the raw row and print them (f"v1 (all events): {v1}" / f"v2 (bots excluded): {v2}"). The MODEL dict records it trained on v1; serving is about to compute v2. Print the model's expectation, then the refusal: f"REFUSE: serving computes {sv} but the model trained on {tv} - retrain or serve v1". Silently 'improving' a feature under a deployed model is self-inflicted skew.

full-screen editor opens — close anytime to keep reading.