One module owns the document keydown listener and dispatches the shortcut map
(Cmd/Ctrl+Shift+N / +K / +S / +, / Escape), platform-aware, via the single-source
focus-utils interactive-context gate. Escape and Cmd/Ctrl+S run before the gate so
save works while editing; the rest are suppressed mid-typing. Publish + its toast
move into services/snippet-actions so the button and Cmd/Ctrl+S behave identically.
Removes the ad-hoc keydown handler from App and Monaco's Cmd+S command.
- Prune the data payload and top-level datasets keys in all three ref walks
(extractDatasetRefs, renameDatasetInSpec, resolveDatasetRefs) so a data row
carrying a field named "data" is no longer misread as a library reference,
spuriously rewritten, or made to throw DatasetNotFoundError. Adds tests,
including a guard that lookup-transform refs (from.data) still resolve.
- Wire the deferred success toasts now the Toaster has landed: publish, revert,
extract-to-dataset, and snippet/dataset delete. Copy follows the council
title-vs-message rule (title states the action, message adds the consequence).
- Reconcile the spec's blanket toast mandate to "toast only what the user can't
already see": no toast on visible-result creates (snippet, dataset form);
Copy Reference stays inline and gains an aria-live announcement (new shared
.visually-hidden utility) instead of a toast-per-copy.
- Move the toast region to bottom-right so it stops covering the header action
cluster (Publish/Revert, theme/datasets).
- Update docs/spec 01F/02/05 and docs/architecture/07 + 10 to match.