4.4 KiB
4.4 KiB
Closing Migration Note: Shared Detail Micro-UI Contract
This file is the release-acceptance artifact for Spec 197. Update it as implementation closes so FR-197-015 and D-197-004 are satisfied without overloading quickstart.md.
Migrated Hosts
Verification Report family
OperationRunResourceverification detail surface viaVerificationReportViewer::surface(...)and shared summary, issues, passed, diagnostics, and unavailable zonesManagedTenantOnboardingWizardverification step surface via the same shared verification-family core with onboarding-only assist, acknowledge, and technical-detail variations layered around itTenantVerificationReportwidget surface via the same completed-state verification-family core while preserving widget-owned no-run and in-progress framing
Normalized Settings family
PolicyResourcenormalized settings surface viaNormalizedSettingsSurface::build(...)PolicyVersionResourcenormalized settings surface viaNormalizedSettingsSurface::build(...)policy-settings-standard.blade.phpretained only as an include-only compatibility shim into the normalized-settings family wrapperSettingsCatalogSettingsTableretained as the settings-catalog subtype renderer inside the normalized-settings family
Normalized Diff family
PolicyVersionResourcenormalized diff surface viaNormalizedDiffSurface::build(...)and the shared summary, grouped-rendering, and empty-state wrapperFindingResourcenormalized diff surface viaNormalizedDiffSurface::build(...)for available, unavailable, and zero-diff states
Intentionally Allowed Remaining Variations
- Onboarding-specific assist, acknowledge, and technical-details actions remain host-scoped variations.
- No-run and in-progress framing remain host-owned where the host genuinely owns that lifecycle state.
SettingsCatalogSettingsTableremains the settings-catalog subtype renderer inside the normalized-settings family.- Drift-specific surrounding context remains host-owned in
FindingResourceas long as the normalized diff family core stays shared. - The compatibility view
policy-settings-standard.blade.phpremains as a thin include-only shim so existing callers/tests do not become a new fork point.
Manual Smoke Evidence
- Reviewer: GitHub Copilot via the local integrated browser using the local smoke-login flow
- Review date: 2026-04-15
- SC-197-003 result: Pass. Operation detail
Operation #6655, the onboarding verify-step host, and the tenant verification widget all exposed the same verification-family core with recognizable summary, issues, passed, diagnostics, and read-only zones. Onboarding kept its bounded host-owned assist and technical-detail behavior, while the tenant widget kept its widget-specific framing on the tenant management detail page. - SC-197-004 result: Pass. Policy detail
Policy #233, policy-version detailPolicy Version #270, drift finding#79, and a temporary local-only unavailable drift finding clone all rendered family-consistent normalized settings or diff behavior. The available diff surface matched the policy-version grouped diff contract, and the unavailable diff surface rendered the same family-owned unavailable-state treatment instead of a host-local message. - Notes: Local browser smoke used
/admin/local/smoke-loginagainst Phoenicon in workspacewp. The tenant verification widget evidence came from the tenant management detail page rather than the tenant dashboard, which is the current widget host. The local dev dataset did not include a resumable verify-step onboarding draft or a natural missing-version drift finding for this tenant family, so temporary local-only fixture records were created, exercised, and deleted after verification../vendor/bin/sail bin pint --dirty --format agentand the focused Sail regression pack had already passed in this feature session.
Out-of-Scope Follow-Ups
- Local dev seed data still lacks a reusable resumable verify-step onboarding draft and a natural missing-version drift finding for this tenant family; future smoke work will need either richer seed data or the same kind of ephemeral local fixtures.
- Shell-level refactors discovered during implementation remain intentionally out of scope.
- Monitoring page-state topics discovered during implementation remain intentionally out of scope.
- Any future shared-detail framework discussion beyond the two proven families remains intentionally out of scope.