Repository navigation
feat(feedback): add diff_banner primitive - #126
Merged
Merged
Conversation
pcharbon70
force-pushed
the
claude/widget-diff-banner-wave-3-7-b
branch
from
May 19, 2026 15:55
b6695b3 to
c381964
Compare
Collaborator
|
Cleaned up PR #126 as discussed.
Verification:
Caveat: |
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.
Summary
Rebased onto current
mainand reduced the branch to the missing canonical integration pieces fordiff_banneras a baseline feedback primitive.UnifiedIUR.Widgets.Feedback.diff_banner/1with counts, active filter, size, base label, and canonicalfilter_intent/selection_intentsupport underattributes.diff.:diff_bannerout ofUnifiedUi.WidgetComponents,UnifiedIUR.Widgets.Components, andAshUI.WidgetComponents.Architecture Notes
diff_banneris treated as a baseline feedback widget, not as aUnifiedUi.WidgetComponentscatalog component and not as a new workflow/status family member.The filter interaction no longer uses a
filter_intent_prefixor rawphx-click="live_ui_interaction". Renderers synthesize canonical selection interaction attributes fromfilter_intentorselection_intent, preserving the existing transport architecture.The visual behavior is stable and simple: all/new/changed/removed chips are always present, compact mode hides only the optional
base_label, and static mode renders chips without radio semantics.Verification
Passing:
mix format --check-formatted <changed files>git diff --check -- . ':(exclude)_build/**' ':(exclude)deps/**'mix test packages/unified_iur/test/unified_iur/widgets/diff_banner_test.exs packages/unified_iur/test/unified_iur/widgets_test.exs packages/unified_iur/test/unified_iur/fixtures_test.exs packages/unified_iur/test/unified_iur/tooling_test.exs packages/live_ui/test/live_ui/widgets/diff_banner_test.exs packages/live_ui/test/live_ui/renderer_test.exs test/ash_ui/resource/diff_banner_test.exs test/ash_ui/phase_31_runtime_adapter_test.exs test/ash_ui/phase_31_package_boundary_test.exs packages/desktop_ui/test/desktop_ui/renderer_test.exs packages/elm_ui/test/elm_ui/renderer_test.exs(65 tests, 0 failures)Additional check:
mix test packages/desktop_ui/test/desktop_ui/phase_eleven_integration_test.exsstill has the existing release-readiness failure intraceability_alignmentbecause the required.spec/specs/desktop_ui/*and.spec/planning/desktop_ui/spec-traceability.*files are absent on currentmain. The widget coverage assertions pass before that readiness assertion.Spec loop tasks are not wired in this checkout:
mix spec.prime --base HEAD,mix spec.next, andmix spec.check --base HEADall report missing Mix tasks.