161 lines
6.6 KiB
JSON
161 lines
6.6 KiB
JSON
{
|
|
"schemaVersion": "1.0",
|
|
"id": "remove-candidates",
|
|
"title": "Removal Candidate Feature Groups",
|
|
"classification": "remove-candidate",
|
|
"status": "review-needed",
|
|
"owner": "core-pruning",
|
|
"description": "Feature groups that should be removed from the default boilerplate or aggressively reviewed for deletion.",
|
|
"rationale": [
|
|
"These surfaces conflict with the plan to remove marketing/default demo product behavior from the boilerplate.",
|
|
"Some entries are remnants or provider duplicates that should only survive as explicit adapters."
|
|
],
|
|
"codeAreas": [],
|
|
"dependencies": [
|
|
"core"
|
|
],
|
|
"consumers": [],
|
|
"components": [
|
|
{
|
|
"id": "forms-surveys-public-forms",
|
|
"title": "Forms, Surveys, and Public Forms",
|
|
"rationale": "Product Core excludes Forms, Surveys, Public Forms, and form-based Help Desk surveys. They are removal targets for runtime, active schema, navigation, seeds, docs, and gates rather than default CRM SaaS capabilities.",
|
|
"codeAreas": [
|
|
"apps/web/app/modules/formBuilder",
|
|
"apps/web/app/modules/surveys",
|
|
"apps/web/app/routes/__forms/*",
|
|
"apps/web/app/routes/admin/forms/*",
|
|
"apps/web/app/routes/app.$tenant/settings/forms/*",
|
|
"apps/web/app/routes/surveys/*",
|
|
"apps/web/app/routes/admin/help-desk/surveys/*",
|
|
"prisma/schema/formBuilder.prisma",
|
|
"Survey models in prisma/schema/helpDesk.prisma"
|
|
]
|
|
},
|
|
{
|
|
"id": "marketing-public-site-remnants",
|
|
"title": "Marketing and Public Site Remnants",
|
|
"rationale": "D009 canonical report: docs/feature-decisions/kb-widgets-workflow-marketing-decision-report.md. Action: remove-from-core. Marketing belongs in a separate project; only minimal legal/auth pages should remain in boilerplate.",
|
|
"codeAreas": []
|
|
},
|
|
{
|
|
"id": "blog-changelog-remnants",
|
|
"title": "Blog and Changelog Remnants",
|
|
"rationale": "D009 canonical report: docs/feature-decisions/kb-widgets-workflow-marketing-decision-report.md. Action: remove-from-core. Blog/changelog are marketing/content surfaces and not default boilerplate core.",
|
|
"codeAreas": []
|
|
},
|
|
{
|
|
"id": "playground-demo-debug",
|
|
"title": "Playground, Demo, Debug Surfaces",
|
|
"rationale": "Demo and debug surfaces are not production-ready default boilerplate features.",
|
|
"codeAreas": []
|
|
},
|
|
{
|
|
"id": "marketing-chatbot",
|
|
"title": "Marketing Chatbot",
|
|
"rationale": "D009 canonical report: docs/feature-decisions/kb-widgets-workflow-marketing-decision-report.md. Action: remove-from-core. Unauthenticated marketing chatbot conflicts with removing marketing from the default boilerplate.",
|
|
"codeAreas": []
|
|
},
|
|
{
|
|
"id": "source-product-copy-assets-fake-data",
|
|
"title": "Source Product Copy, Assets, Fake Data",
|
|
"rationale": "Whitelabel cleanup should remove source-product-specific copy, fake content, and logos.",
|
|
"codeAreas": []
|
|
},
|
|
{
|
|
"id": "heavy-visual-editor-dependency-review",
|
|
"title": "Heavy Visual and Editor Dependency Review",
|
|
"rationale": "Heavy editor and drag/drop dependencies should be reviewed after their owning feature surfaces are removed or extracted. Do not delete packages that are still imported by core/shared UI or plugin-candidate code.",
|
|
"codeAreas": [
|
|
"shared rich-text editor dependency set",
|
|
"shared drag/drop dependency set",
|
|
"syntax and math rendering dependency set"
|
|
]
|
|
}
|
|
],
|
|
"integration": {
|
|
"ownership": "system-only",
|
|
"surfaces": {
|
|
"adminRoutes": [
|
|
"routes marked for deletion or review"
|
|
],
|
|
"tenantRoutes": [
|
|
"tenant routes marked for deletion or review"
|
|
],
|
|
"publicRoutes": [
|
|
"public demo/marketing routes marked for deletion or review"
|
|
],
|
|
"apiRoutes": [
|
|
"API routes marked for deletion or review"
|
|
]
|
|
},
|
|
"configuration": {
|
|
"admin": [],
|
|
"tenant": [],
|
|
"environment": [
|
|
"Environment variables tied only to removed features should be removed after dependency audit."
|
|
],
|
|
"secrets": [
|
|
"Secrets tied only to removed features should be removed after dependency audit."
|
|
]
|
|
},
|
|
"workers": {
|
|
"required": false,
|
|
"queues": [],
|
|
"jobs": [],
|
|
"notes": [
|
|
"Delete or extract worker jobs only after consumers are audited."
|
|
]
|
|
},
|
|
"externalProviders": [
|
|
"provider dependencies under removal review"
|
|
],
|
|
"permissions": [],
|
|
"auditEvents": [
|
|
"removed_feature.audit_retained_if_needed"
|
|
],
|
|
"billingImpacts": [
|
|
"Removal must not delete billing dependencies used by core."
|
|
],
|
|
"uat": [
|
|
"Removing a candidate does not break core auth, tenant shell, admin shell, billing, mail, or rows runtime."
|
|
]
|
|
},
|
|
"boundaries": {
|
|
"mustKeep": [
|
|
"Any dependency still required by core manifests",
|
|
"Legal/auth public pages if retained by the app shell"
|
|
],
|
|
"mayMoveToPlugin": [
|
|
"Provider adapters for non-default mail vendors",
|
|
"Demo fixtures useful for test-only packages"
|
|
],
|
|
"mustNotTouch": [
|
|
"Historical affiliate migrations and unrelated chatbot, route, and navigation code during this cleanup phase",
|
|
"Runtime code until the owning worker or implementation phase takes over"
|
|
]
|
|
},
|
|
"pruning": {
|
|
"phase": "1",
|
|
"action": "remove",
|
|
"notes": [
|
|
"This manifest captures removal intent; T04 removed the orphan Affiliate icon while preserving historical migration evidence.",
|
|
"Feature Decision/S06 remove-from-core pruning removed the orphan BlogApi stub; public row sharing at apps/web/app/routes/public/$entity.$id.tsx is now removed from active runtime.",
|
|
"Feature Manifest/S05 adds pnpm run verify:removed-modules as the runtime scan gate for removed-module regressions.",
|
|
"Product Core marks Forms, Surveys, Public Forms, and form-based Help Desk surveys as removal targets rather than plugin candidates.",
|
|
"Fake content helpers and the demo admin entity row route were removed from the active source tree.",
|
|
"Dependency cleanup must run after feature extraction/removal and live import audits to avoid deleting shared packages prematurely.",
|
|
"Unused landing-particle runtime code and particle dependencies were removed from active source."
|
|
]
|
|
},
|
|
"validation": {
|
|
"source": [
|
|
"docs/feature-inventory.md",
|
|
"docs/architecture-migration-status.md",
|
|
"BOILERPLATE-PLAN.md",
|
|
"docs/feature-decisions/kb-widgets-workflow-marketing-decision-report.md"
|
|
],
|
|
"lastReviewed": "2026-05-13"
|
|
}
|
|
}
|