# `MingaEditor.FeatureStateWorkflow`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/feature_state_workflow.ex#L1)

Resolves shell registrations before atomic feature-state cleanup.

Registry reads stay outside the pure root transition so active and stashed
shell values receive one coherent, already-resolved entry set.

# `drop_extension_sources`

```elixir
@spec drop_extension_sources(MingaEditor.State.t()) :: MingaEditor.State.t()
```

Drops every extension-owned feature-state source from all Editor values.

# `drop_source`

```elixir
@spec drop_source(MingaEditor.State.t(), MingaEditor.FeatureState.source()) ::
  MingaEditor.State.t()
```

Drops one feature-state source from all Editor-owned live and stashed values.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
