Problem
When running typestream plan with a single pipeline file, the output shows - delete for all pipelines not defined in that file:
$ typestream plan pipelines/categorization-failed-view.typestream.json
NAME ACTION CURRENT VERSION NEW VERSION
bookkeeper-categorization-failed-view + create 1
bookkeeper-uncategorized-view - delete 1
However, typestream apply on the same file is additive — it only creates/updates the pipeline in the file and leaves others untouched.
Expected behavior
plan and apply should have consistent semantics. Either:
- Both additive (preferred):
plan for a single file only shows what would happen to that pipeline, not unrelated ones. This matches how apply actually works today.
- Both declarative:
apply would also delete pipelines not in the input — but this is dangerous and would need a --prune flag or similar opt-in.
Option 1 seems safest and matches current apply behavior.
Workaround
Point plan at the full directory instead of a single file to get an accurate diff.
Problem
When running
typestream planwith a single pipeline file, the output shows- deletefor all pipelines not defined in that file:However,
typestream applyon the same file is additive — it only creates/updates the pipeline in the file and leaves others untouched.Expected behavior
planandapplyshould have consistent semantics. Either:planfor a single file only shows what would happen to that pipeline, not unrelated ones. This matches howapplyactually works today.applywould also delete pipelines not in the input — but this is dangerous and would need a--pruneflag or similar opt-in.Option 1 seems safest and matches current
applybehavior.Workaround
Point
planat the full directory instead of a single file to get an accurate diff.