mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-23 12:15:42 +00:00
Enforce shared template registry for platform tables
This commit is contained in:
@@ -3772,6 +3772,11 @@
|
||||
"kind": "file",
|
||||
"evidence_tier": "test-proof"
|
||||
},
|
||||
{
|
||||
"repo": "pulse",
|
||||
"path": "frontend-modern/scripts/shared-template-registry.json",
|
||||
"kind": "file"
|
||||
},
|
||||
{
|
||||
"repo": "pulse",
|
||||
"path": "frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts",
|
||||
@@ -3788,6 +3793,11 @@
|
||||
"path": "frontend-modern/src/components/Workloads/GuestRow.tsx",
|
||||
"kind": "file"
|
||||
},
|
||||
{
|
||||
"repo": "pulse",
|
||||
"path": "frontend-modern/src/features/platformPage/sharedPlatformPage.tsx",
|
||||
"kind": "file"
|
||||
},
|
||||
{
|
||||
"repo": "pulse",
|
||||
"path": "frontend-modern/src/features/standalone/agentMachineTableModel.ts",
|
||||
|
||||
@@ -153,11 +153,14 @@ work extends shared components instead of creating new local variants.
|
||||
126. `frontend-modern/src/components/Settings/dataHandlingPanelModel.ts`
|
||||
127. `frontend-modern/scripts/canonical-platform-audit.mjs`
|
||||
128. `frontend-modern/scripts/settings-diagnostics-boundary-audit.mjs`
|
||||
129. `frontend-modern/src/utils/platformSupportManifest.generated.ts`
|
||||
130. `frontend-modern/src/utils/platformSupportManifest.ts`
|
||||
131. `frontend-modern/src/utils/sourcePlatformOptions.ts`
|
||||
132. `frontend-modern/src/utils/sourcePlatforms.ts`
|
||||
133. `frontend-modern/src/utils/infrastructureOnboardingPresentation.ts`
|
||||
129. `frontend-modern/scripts/shared-template-audit.mjs`
|
||||
130. `frontend-modern/scripts/shared-template-registry.json`
|
||||
131. `frontend-modern/src/features/platformPage/sharedPlatformPage.tsx`
|
||||
132. `frontend-modern/src/utils/platformSupportManifest.generated.ts`
|
||||
133. `frontend-modern/src/utils/platformSupportManifest.ts`
|
||||
134. `frontend-modern/src/utils/sourcePlatformOptions.ts`
|
||||
135. `frontend-modern/src/utils/sourcePlatforms.ts`
|
||||
136. `frontend-modern/src/utils/infrastructureOnboardingPresentation.ts`
|
||||
|
||||
## Shared Boundaries
|
||||
|
||||
@@ -2362,6 +2365,20 @@ resource-name link shell, new-tab safety attributes, row-click/key propagation
|
||||
containment, fallback text, and accessible launch labels. Workload guest rows
|
||||
and standalone machine rows compose that primitive so a saved URL is opened by
|
||||
clicking the resource name on every comparable runtime table.
|
||||
Shared-template drift enforcement is registry-backed:
|
||||
`frontend-modern/scripts/shared-template-registry.json` is the canonical list of
|
||||
standardized repeated affordances, required consumers, and forbidden local
|
||||
patterns, while `frontend-modern/scripts/shared-template-audit.mjs` enforces
|
||||
that registry. Future repeated-affordance migrations must add or extend a
|
||||
registry rule as part of the same change that extracts or adopts the shared
|
||||
primitive.
|
||||
Platform table frames are one of those registry-backed templates.
|
||||
`frontend-modern/src/features/platformPage/sharedPlatformPage.tsx` owns
|
||||
`PlatformTableShell`, including the canonical table card, header row, and body
|
||||
divide styling. New platform tables must start from `PlatformTableShell`; the
|
||||
legacy table-frame allowlist in `shared-template-registry.json` is migration
|
||||
debt, not precedent, and must shrink as existing tables are moved onto the
|
||||
shared shell.
|
||||
The shared help icon now follows that same owner split.
|
||||
`frontend-modern/src/components/shared/HelpIcon.tsx` stays the render shell,
|
||||
`frontend-modern/src/components/shared/useHelpIconState.ts` owns open state,
|
||||
|
||||
@@ -3059,6 +3059,8 @@
|
||||
"frontend-modern/scripts/canonical-platform-audit.mjs",
|
||||
"frontend-modern/scripts/header-audit.mjs",
|
||||
"frontend-modern/scripts/settings-diagnostics-boundary-audit.mjs",
|
||||
"frontend-modern/scripts/shared-template-audit.mjs",
|
||||
"frontend-modern/scripts/shared-template-registry.json",
|
||||
"frontend-modern/src/components/Settings/AIChatMaintenanceSection.tsx",
|
||||
"frontend-modern/src/components/Settings/AIModelSelectionSection.tsx",
|
||||
"frontend-modern/src/components/Settings/AIProviderConfigurationSection.tsx",
|
||||
@@ -3124,6 +3126,7 @@
|
||||
"frontend-modern/src/components/SetupWizard/SetupCompletionPreview.tsx",
|
||||
"frontend-modern/src/components/SetupWizard/SetupWizard.tsx",
|
||||
"frontend-modern/src/components/Toast/Toast.tsx",
|
||||
"frontend-modern/src/features/platformPage/sharedPlatformPage.tsx",
|
||||
"frontend-modern/src/hooks/createNonSuspendingQuery.ts",
|
||||
"frontend-modern/src/index.css",
|
||||
"frontend-modern/src/routing/routePreload.ts",
|
||||
@@ -3550,6 +3553,21 @@
|
||||
"frontend-modern/src/components/shared/__tests__/SearchInput.test.tsx"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "shared-template-drift-guardrails",
|
||||
"label": "shared template drift guardrail proof",
|
||||
"match_prefixes": [],
|
||||
"match_files": [
|
||||
"frontend-modern/scripts/shared-template-audit.mjs",
|
||||
"frontend-modern/scripts/shared-template-registry.json",
|
||||
"frontend-modern/src/features/platformPage/sharedPlatformPage.tsx"
|
||||
],
|
||||
"allow_same_subsystem_tests": false,
|
||||
"test_prefixes": [],
|
||||
"exact_files": [
|
||||
"frontend-modern/src/components/shared/SharedPrimitives.guardrails.test.ts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "data-grid-and-summary",
|
||||
"label": "data grid and summary proof",
|
||||
|
||||
Reference in New Issue
Block a user