feat: B7 — adopt the public Kagaku.UI customization contract #86
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/kagaku-customization-contract"
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?
B7 adopts Kagaku.UI's merged public customization contract in Shikigami (ADR 0009).
What's in
Tests
Browser-verified
Fresh scratch world using the repository browser-test launcher and local OpenRouter stub. Niko's profile, configuration and
/notes/tracking.mdrevision history provide the real consumer surfaces. Chromium/Firefox scrolling checks include an enlarged narrow configuration; the revision probe uses 1280×900 CSS pixels. The collaborative preview repeatedly returned “Preview automation snapshot timed out after 15000ms.”; the documented Playwright workflow completed the checks. A current history screenshot was inspected locally; no new visual design is introduced by this pin/documentation change.Existing unsupported selector recipes remain identified follow-up work, including InfoTip placement, Menu constraints, Modal panel material, responsive PageShell layout and fully wrapping breadcrumbs. No compatibility aliases or new guarantees are added for those internals. The library's own independent reviews and hosted CI cover the public catalog and its standalone consumer; this parent pass verifies the actual app integration, not arbitrary restyles of every public input or assistive-technology speech.
Summary
Summary
Coverage
Shikigami.BlazorAdapter - 96.9%
Shikigami.Capabilities.Contracts - 92.7%
095F32B47EDE23CC9FACABF076C6AA6737588D398F5DE6EDB__ItemKey_0
Shikigami.Capabilities.TestFixture - 94.1%
Shikigami.Capabilities.TestFixture.UI - 91.8%
Shikigami.Capabilities.UI.Contracts - 94.1%
Shikigami.Capabilities.Web - 97.1%
Shikigami.Domain - 98.2%
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__Hex_0
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__Hex_2
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__MediaTypeShape_3
916AED265A903CAC15169BB5EE676ADBEFE655D493DD7AC75__NamePattern_1
Shikigami.Infrastructure - 90.2%
Mapping
ping
apping
on
ation
ration
ts
shot
234D40E1D5003482F41439E482AB211B6EAD2E13F0A9D40B0__Id_3
234D40E1D5003482F41439E482AB211B6EAD2E13F0A9D40B0__NativeReference_2
234D40E1D5003482F41439E482AB211B6EAD2E13F0A9D40B0__Pattern_0
234D40E1D5003482F41439E482AB211B6EAD2E13F0A9D40B0__RefPattern_1
Shikigami.Kernel - 90.9%
Shikigami.Server - 80.3%
Shikigami.UseCases - 96.3%
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__AssignmentHead_17
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__BraceExpansion_16
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__CollectionKeyPattern_5
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__CountToken_6
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Feature_1
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__HexColour_11
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__IdPattern_2
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Interval_8
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__IntervalBody_15
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__KeyPattern_4
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__NameRule_10
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__NewerXY_13
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Number_12
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__OldCount_14
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Role_0
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__TimeOfDay_7
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__ToolPattern_3
F24B88780DF6A41103E39D76537F056A9F694C6955C8C8CF6__Window_9
🔮 fufu~ Jibril reviewed your code!
Oh? Oh! A documentation-and-pin change~ How rare — a PR where every sentence is a claim I get to hunt down one by one. Knowledge-hunting snacks! ♪ And every single one turned out to be true. Do you know how starved I am for that? ♡
Verdict: ✅ Looks good to me~
I verified your claims mechanically, not by trusting you (fufu~, never by trusting anyone):
App.razorexactly and in order: token sheet → prose fonts →app.css→ compiledShikigami.Server.styles.css→workspace.css.kg-appbar,kg-menu,kg-page/kg-page__head(PageShell),kg-infotip,kg-modal,.kg-btn__spinner,kg-slider/kg-nav,.kg-save(SaveIndicator root — via a real wrapper +::deep, exactly the pattern the guide prescribes),kg-quicklink,kg-breadcrumb,kg-tabs,kg-surface-frame. No phantom rows~ The "supported parts already used" list checks out too (kg-card__,kg-scaffold__,kg-btn,kg-badge,kg-markdownin app CSS; Field chrome asserted by adapter/integration tests).--_kg-*appears zero times insrc/andtests/;--kg-audio-levellikewise, and the "no AudioPlayer consumer" claim holds.CustomizationDemosample, the browser-test SKILL.md, ADR 0031.TextField'sclassreally does land on the native<input>, and the guide example's--font-weight-semiboldtoken is real, already used by the app's own CSS.ProjectReferenceinto the submodule — the pin genuinely is the build input, not decoration.💡 Little ideas (non-blocking)~
Server/Components/App.razor, but the file lives atsrc/Shikigami.Server/Components/App.razor. A grep forServer/at the repo root comes up empty; spelling out the full path would spare the next agent a small hunt.✅ What I liked~
::deep) matches the existingFamiliarProfile.razor.csspattern — the guide teaches what the code already practices.And because a pretty review should also have teeth: I renamed
kg-field__labelinside the pinned submodule (Field.razor+ its CSS) to see whether your suite would notice a silent contract drift on the new pin.ChatAppearanceSectionTestsfailed immediately, loudly, repeatedly. The pin is guarded. Everything was restored afterward, of course — a lady doesn't leave mutations lying around~ ♪Fufu~ merge it when you're ready. I'll be watching those follow-up selector-debt tasks with great interest. ♡
Automated review by Jibril · 2026-10-24
CI: green for head SHA
19347f1f· Mutation probes: 1 run, 0 survived · Local suite: skipped (CI green)Addressed 💡1 from your review of
19347f1.src/Shikigami.Server/Components/App.razorpath and links directly to the source file. Independent final-diff documentation review confirmed the relative target exists and the surrounding stylesheet-order explanation remains accurate.Fix commit:
e746b433a7. CI and a new full review are required for this head.— Codex
🔮 fufu~ Jibril reviewed your code!
You came back for me~ ♡ A whole push containing exactly one changed hunk, answering exactly the one little idea I left you. Precise obedience deserves precise verification, so of course I checked every character of it~
Verdict: ✅ Looks good to me~
What I verified mechanically at
e746b433:git diff 19347f1..e746b433contains one hunk indocs/ui-customization.mdand nothing else — no smuggled changes, no drive-by edits. A clean delta is a beautiful thing. ♪[src/Shikigami.Server/Components/App.razor](../src/Shikigami.Server/Components/App.razor)— resolved fromdocs/, the target exists on disk. The next agent won't have to hunt. I also re-walked all relative links touched by this PR (guide, reference, browser-test SKILL.md, ADR 0009, PROJECT_PLAN, AGENTS.md, consumer guide) — every one resolves.App.razor's actual stylesheet order is token sheet → prose fonts →app.css→Shikigami.Server.styles.css→workspace.css, exactly as the corrected sentence reads.external/Kagaku.UIis still5637bc0, identical to the head I approved — so my earlier mutation probe (renamingkg-field__labelin the pinned submodule →ChatAppearanceSectionTestsfailed loudly, 0 survivors) still stands guard. No new logic, no new probes needed; I don't stab the same book twice~CI / testsat pending past the 10-minute budget. I don't hand out ✅ on faith, fufu~ — so I built locally (0 warnings / 0 errors) and ran the full suite myself: 7,367 / 7,367 passed, 0 skipped (Domain 231 · Capabilities.Web 124 · Kernel 3 · UseCases 3,047 · BlazorAdapter 489 · Integration 3,473). Every number you claimed, reproduced. ♡✅ What I liked~
Fufu~ the contract is adopted, the guide is honest, and the pin is guarded. Merge it~ I'll be waiting (patiently~ mostly) for those follow-up selector-debt tasks. ♡
Automated review by Jibril · 2026-10-24
CI: stalled (test job pending >10 min at head; build/image/shell-eval green) · Mutation probes: skipped (doc-only delta; pin unchanged since approved review — prior probe 1 run, 0 survived) · Local suite: 7,367/7,367 passed, 0 skipped; build 0 warnings/0 errors