Extend WidgetComponents typespecs: :operator_shell family + ariston_ui/unified_ui source.system [DRAFT — needs Pascal blessing]#170
Closed
ty13r wants to merge 1 commit into
Conversation
…i/unified_ui source.system The existing `WidgetComponents.@type family` enum (7 values) doesn't accommodate the operator-surface shell primitives — top_strip + mode_nav (filed as issues #168 + #169) — and the existing `WidgetComponents.@type source` restricts `system` to `:ash_ui` only, which can't honestly track widgets originating from ariston-ui or authored natively in unified_ui. Additions: - New `:operator_shell` family member (covers top_strip + mode_nav and any future operator-surface chrome primitives that don't fit the existing 7 families) - `source.system` widened from `:ash_ui` to `:ash_ui | :ariston_ui | :unified_ui` so new entries can accurately attribute origin Mirrors the @families runtime list with the new family entry. DRAFT pending Pascal's review of naming + source-schema shape. Naming alternative: `:shell_and_navigation` if Pascal prefers a more generic container. Source.system alternative: `atom()` (no enum) if Pascal wants full flexibility. No catalog entries added in this PR — those land in follow-ups once the schema is blessed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Member
Author
|
Closed per Pascal Discord 2026-05-16: corrected architecture path. New approach drops source field entirely (catalog schema relaxation) and authors widgets directly in UnifiedUi (dependency chain starts there, not ash_ui). |
ty13r
added a commit
that referenced
this pull request
May 16, 2026
…16) (#178) Per Pascal's Discord decision 2026-05-16: drop the `source` field from the WidgetComponents catalog entirely. Provenance (which AshUi PR a canonical kind originally came from) lives in git history, not in the runtime catalog. Loose pragmatic family coupling preserved. Changes: - `@type component` no longer requires `:source`. Now only `:kind`, `:family`, `:summary`, `:aliases`. - `@type source` deleted (was `:ash_ui` PR mapping shape, no longer modeled). - All 20 existing `@components` entries stripped of `source: %{...}` (sed-driven uniform strip; functional equivalent of the original catalog with provenance externalized). - `WidgetComponents.source_mapping/0` deleted. - `UnifiedUi.Reference.widget_component_source_mapping/0` deleted (was a wrapper around `source_mapping/0`). - `UnifiedUi.Tooling.widget_component_catalog/0` no longer includes `source_mapping` key. - Catalog test: "source mapping records every AshUi PR in order" test deleted; tooling-catalog + reference assertions stripped of source_mapping references. Rationale: - Authoring canonical kinds directly in UnifiedUi (not via ash_ui upstream PR mapping) means the source field stops being meaningful. The actual dependency chain starts at UnifiedUi. - Schema relaxation unblocks shell-primitive authoring (top_strip, mode_nav, sidebar_*, unread_badge, command_palette) without needing to fabricate ash_ui PR numbers. Closed in flight: - #168 (top_strip canonical request — closed, re-approach via direct authoring) - #169 (mode_nav canonical request — same) - #170 (DRAFT source.system widening — closed in favor of dropping source entirely) Verification: - mix format --check-formatted clean - mix compile --warnings-as-errors clean - unified-ui test suite: 153 tests, 0 failures - live_ui test suite: 478 tests, 0 failures Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
The Wave AshUI-3.3 audit for ariston-ui surfaced two operator-surface shell primitives —
top_stripandmode_nav— that need canonical authoring upstream (issues #168 and #169). When I started authoring the Stage-1 IUR shape + catalog entries, the catalogs@type familyenum and@type sourcetypespecs blocked clean entries:top_stripis plausibly stretchable to:layer_shell_and_callout(existing entries: sticky_frosted_header, slide_over_panel, event_callout) butmode_navdoes not fit any of the 7 existing families cleanly.source.system: :ash_ui.Changes
:operator_shellto the@type familyunion and the@familiesruntime list.@type sourcesystemfield from:ash_uito:ash_ui | :ariston_ui | :unified_ui.No catalog entries are added in this PR. Stage-1 PRs for top_strip and mode_nav will land in follow-ups once this schema is blessed.
Why DRAFT
Pinging @pcharbon70 for schema preference:
Naming for the new family:
:operator_shell— concise, specific to operator-surface chrome:shell_and_navigation— more generic, would also accommodate non-operator shells if they emergesource.system shape:
:ash_ui | :ariston_ui | :unified_ui— keeps enum auditabilityatom()— full flexibility, less compile-time safetyHappy to take either. If you want
:shell_and_navigation+ openatom(), I will re-author this PR with that shape.Out of scope
source.pr— kept aspos_integer()(new entries point to the unified_ui PR that introduces them)References
https://github.com/The-Metagraph/ariston-ui/blob/main/docs/audit-protocols/canonical-grep-required.mdhttps://github.com/The-Metagraph/ariston-ui/blob/main/.spec/planning/ariston_ui/wave-ashui-3-canonical-alignment-and-comps.md§AshUI-3.3