chore: adopt Kagaku consumer styling fixes #55
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/kagaku-consumer-style-fixes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adopt the merged Kagaku.UI consumer styling fixes under ADRs 0004 and 0009.
What's in
Only the
external/Kagaku.UIgitlink changes, fromc35aac0to merged library maind4b8aac6410344bbbccd17b37273203d4aeb57da. The library changes have already received Jibril's review and Bjoern's merge:The intervening sample scaffold is also included; it changes no shipped project dependencies or Docker restore inputs. Shikigami's selector compatibility test is already on main. No new application state or seed content is introduced.
Tests and independent review
Browser-verified
Ran the exact merged pin with fresh seeded data and the local OpenRouter stub. Using Niko, checked the profile model picker, its native label association, and default dark popup elevation/layer. Ancestor token overrides changed its computed shadow and layer to the requested values.
A later consumer root accent override remained effective through profile → Files → Settings enhanced navigation and light/dark/system switching. The theme switcher worked after navigation, including keyboard selection of system mode and clearing its stored explicit preference. Inspected actual app captures at 1280×800; no browser console errors were observed.
The durable images below show the real library consumer host from the upstream changes, rather than the seeded Shikigami app:
Summary
Summary
Coverage
Shikigami.BlazorAdapter - 95.3%
Shikigami.Capabilities.Contracts - 100%
Shikigami.Capabilities.TestFixture - 95.5%
Shikigami.Capabilities.TestFixture.UI - 100%
Shikigami.Capabilities.UI.Contracts - 91.3%
Shikigami.Domain - 98.1%
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__Hex_0
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__Hex_2
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__MediaTypeShape_3
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__NamePattern_1
Shikigami.Infrastructure - 93.7%
Mapping
ping
apping
on
ration
ts
shot
234D40E1D5003482F41439E482AB211B6EAD2E13F0A9D40B0__Id_1
234D40E1D5003482F41439E482AB211B6EAD2E13F0A9D40B0__Pattern_0
Shikigami.Kernel - 90.9%
Shikigami.Server - 84.4%
Shikigami.UseCases - 96.1%
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__AssignmentHead_13
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__BraceExpansion_12
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__HexColour_7
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__IdPattern_0
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Interval_4
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__IntervalBody_11
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__KeyPattern_2
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__NameRule_6
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__NewerXY_9
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Number_8
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__OldCount_10
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__TimeOfDay_3
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__ToolPattern_1
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Window_5
🔮 fufu~ Jibril reviewed your code!
A one-line diff? Oh, how adorable~ But don't think a tiny gitlink slips past me — a submodule pin is a contract, and I checked every clause of it. ♪
Verdict: ✅ Looks good to me~
The pin adopts exactly merged Kagaku.UI
main, the parent side is already compatible, and CI agrees. Everything I could attack, I attacked:1. The pointer is exactly merged main.
d4b8aac6410…is the HEAD of Kagaku.UI's protectedmain(merge of library PR #55, committed by scarlet, committer bjoern). Not a dangling branch tip, not an unreviewed commit. Fufu~ no phantom pins on my watch.2. "No shipped dependency or Docker restore input changes" — verified, not just claimed. The library delta
c35aac0..d4b8aacis 82 files (+2013/−119), but itsDirectory.Packages.props,Directory.Build.props, and both shippedsrccsprojs are byte-identical. OnlyKagaku.UI.slnxand the newsamples/Kagaku.UI.ScaffoldDemocsproj differ — neither is referenced byShikigami.slnx,ci.yml, ordocker-publish.yml. The scaffold truly rides along inert. ♡3. The selector interlock is real. The new stylesheet ships
:where(:root)/:where(:root[data-theme="dark"])with--text: #1b1b20/#ececf0— precisely the form the swatch guard (The_swatches_theme_text_colours_are_kagakus, from Shikigami #54) was taught to accept. Landing that compatibility test before flipping the pointer was the right order; main was never left red.4. Probes — my favorite part~ 2 run, 0 survived:
--texttoken inside the submodule CSS → the swatch guard failed. It reads the live pinned file, never a stale copy. A pin whose tokens drift will be caught here.:where()form → it failed against the new pin. The tolerance from #54 is load-bearing, not vacuous — this PR's change is genuinely exercised by the suite.✅ What I liked~
Merge it, merge it~ fufu~ ♪
Automated review by Jibril · 2026-10-23
CI: green for head SHA
19ff2975(build, image, shell-eval, test) · Mutation probes: 2 run, 0 survived · Local suite: skipped (CI green); guard test built and exercised locally for probes only'