diff --git a/AGENTS.md b/AGENTS.md
index 2ca4e1d..1ed0b30 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -26,6 +26,7 @@ MRP Codex is a modular Manufacturing Resource Planning platform intended to be a
- admin diagnostics with runtime footprint, record counts, and persisted audit-trail visibility
- admin user management with account creation, activation, role assignment, and role-permission editing
- CRM/shipping audit coverage and startup validation surfaced through the admin diagnostics workflow
+- backup/restore guidance and exportable support snapshots in the admin diagnostics workflow
- Puppeteer PDF foundation
- single-container Docker deployment
@@ -122,7 +123,7 @@ If implementation changes invalidate those docs, update them in the same change
Near-term priorities are:
-1. Backup/restore workflow documentation and support-oriented admin tooling
+1. Backup verification checklist and restore drill guidance
2. Deeper startup diagnostics and support export helpers
When adding new modules, preserve the ability to extend the system without refactoring the existing app shell.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8bf4318..46417c0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,7 @@ This file is the running release and change log for MRP Codex. Keep it updated w
### Added
+- Backup/restore guidance surfaced in admin diagnostics with exportable support snapshot JSON for support handoff
- CRM customer/vendor changes and shipping mutations now feed the shared audit trail
- Startup validation now runs during server boot and surfaces readiness checks in admin diagnostics
- Admin user-management screen with account creation, activation control, role assignment, and role-permission editing
@@ -46,7 +47,7 @@ This file is the running release and change log for MRP Codex. Keep it updated w
- The client entry bundle now stays lighter by loading major modules on demand instead of importing all route pages eagerly in `main.tsx`
- Company settings now acts as the staging area for admin surfaces while user administration lives on its own dedicated page instead of inside the company-profile form
- Admin diagnostics now includes startup-readiness status alongside runtime footprint and recent audit activity
-- Roadmap and project docs now treat backup/restore workflow documentation and support-oriented admin tooling as the next active priority after the CRM/shipping audit and startup-validation slice
+- Roadmap and project docs now treat backup verification checklist and restore drill guidance as the next active priority after the backup/support-tooling slice
## 2026-03-15
diff --git a/INSTRUCTIONS.md b/INSTRUCTIONS.md
index 655d208..4afe80b 100644
--- a/INSTRUCTIONS.md
+++ b/INSTRUCTIONS.md
@@ -30,6 +30,7 @@ This repository implements the platform foundation milestone:
- admin diagnostics with runtime footprint, storage visibility, record counts, and recent audit activity
- admin user management with account creation, activation, role assignment, and role-permission editing
- CRM/shipping audit coverage and startup validation surfaced through diagnostics
+- backup/restore guidance and exportable support snapshots in diagnostics
- Dockerized single-container deployment
- Puppeteer PDF pipeline foundation
@@ -65,5 +66,5 @@ This repository implements the platform foundation milestone:
## Next roadmap candidates
-- backup/restore workflow depth and support-oriented admin tooling
+- backup verification checklist and restore drill guidance
- deeper startup diagnostics and support export helpers
diff --git a/README.md b/README.md
index 5c59de7..aec72e1 100644
--- a/README.md
+++ b/README.md
@@ -29,6 +29,7 @@ Current foundation scope includes:
- admin diagnostics with runtime footprint, record counts, and recent audit-trail visibility
- admin user management with account creation, activation, role assignment, and role-permission editing
- CRM and shipping audit coverage plus startup validation surfaced through the admin diagnostics page
+- backup/restore guidance and exportable support snapshots in the admin diagnostics workflow
- route-level code-splitting and vendor chunking for lighter initial client loads
- file storage and PDF rendering
@@ -50,13 +51,13 @@ Current completed foundation areas:
Near-term priorities:
-1. Backup/restore workflow documentation and support-oriented admin tooling
+1. Backup verification checklist and restore drill guidance
2. Deeper startup diagnostics and support export helpers
Revisit / deferred items:
- local Windows Prisma migration reliability
-- backup/restore workflow depth and support tooling
+- backup verification checklist and restore drill depth
- deeper startup diagnostics and support export helpers
Dashboard direction:
@@ -351,11 +352,12 @@ The current admin operations slice supports:
- a dedicated user-management page for account creation, activation, role assignment, password reset-style updates, and role-permission administration
- CRM customer/vendor changes and shipping mutations now flow into the shared audit trail
- startup validation now checks storage paths, database connectivity, client bundle readiness, Chromium availability, and risky production defaults during server boot
+- backup and restore guidance now surfaces directly in diagnostics, along with exportable support snapshot JSON for support handoff
- operator-facing review of recent high-impact changes without direct database access
Current follow-up direction:
-- backup/restore workflow guidance and support-oriented admin tooling
+- backup verification checklist and restore drill guidance
- deeper startup diagnostics and support export helpers
## UI Notes
diff --git a/ROADMAP.md b/ROADMAP.md
index 54ddced..98e7c1a 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -52,6 +52,7 @@ MRP Codex is being built as a streamlined, modular manufacturing resource planni
- Dedicated user-management screen for account creation, activation, role assignment, and role-permission editing
- CRM customer/vendor changes and shipping mutations covered by the shared audit trail
- Startup validation during server boot with checks for storage paths, database connectivity, client bundle readiness, Chromium availability, and risky production defaults
+- Backup/restore guidance and exportable support snapshots surfaced through the admin diagnostics workflow
- Route-level frontend code-splitting and vendor chunking to keep the initial client payload lighter
- SKU-searchable BOM component selection for inventory-scale datasets
- Theme persistence fixes and denser responsive workspace layouts
@@ -293,5 +294,5 @@ QOL subfeatures:
## Near-term priority order
-1. Backup/restore workflow documentation and support-oriented admin tooling
+1. Backup verification checklist and restore drill guidance
2. Deeper startup diagnostics and support export helpers
diff --git a/client/src/lib/api.ts b/client/src/lib/api.ts
index 5d4023c..645a1b3 100644
--- a/client/src/lib/api.ts
+++ b/client/src/lib/api.ts
@@ -1,8 +1,10 @@
import type {
AdminDiagnosticsDto,
+ BackupGuidanceDto,
AdminPermissionOptionDto,
AdminRoleDto,
AdminRoleInput,
+ SupportSnapshotDto,
AdminUserDto,
AdminUserInput,
ApiResponse,
@@ -136,6 +138,12 @@ export const api = {
getAdminDiagnostics(token: string) {
return request("/api/v1/admin/diagnostics", undefined, token);
},
+ getBackupGuidance(token: string) {
+ return request("/api/v1/admin/backup-guidance", undefined, token);
+ },
+ getSupportSnapshot(token: string) {
+ return request("/api/v1/admin/support-snapshot", undefined, token);
+ },
getAdminPermissions(token: string) {
return request("/api/v1/admin/permissions", undefined, token);
},
diff --git a/client/src/modules/settings/AdminDiagnosticsPage.tsx b/client/src/modules/settings/AdminDiagnosticsPage.tsx
index bab0542..30595dc 100644
--- a/client/src/modules/settings/AdminDiagnosticsPage.tsx
+++ b/client/src/modules/settings/AdminDiagnosticsPage.tsx
@@ -1,4 +1,4 @@
-import type { AdminDiagnosticsDto } from "@mrp/shared";
+import type { AdminDiagnosticsDto, BackupGuidanceDto } from "@mrp/shared";
import { Link } from "react-router-dom";
import { useEffect, useState } from "react";
@@ -20,6 +20,7 @@ function parseMetadata(metadataJson: string) {
export function AdminDiagnosticsPage() {
const { token } = useAuth();
const [diagnostics, setDiagnostics] = useState(null);
+ const [backupGuidance, setBackupGuidance] = useState(null);
const [status, setStatus] = useState("Loading diagnostics...");
useEffect(() => {
@@ -29,13 +30,13 @@ export function AdminDiagnosticsPage() {
let active = true;
- api
- .getAdminDiagnostics(token)
- .then((nextDiagnostics) => {
+ Promise.all([api.getAdminDiagnostics(token), api.getBackupGuidance(token)])
+ .then(([nextDiagnostics, nextBackupGuidance]) => {
if (!active) {
return;
}
setDiagnostics(nextDiagnostics);
+ setBackupGuidance(nextBackupGuidance);
setStatus("Diagnostics loaded.");
})
.catch((error: Error) => {
@@ -50,10 +51,26 @@ export function AdminDiagnosticsPage() {
};
}, [token]);
- if (!diagnostics) {
+ if (!diagnostics || !backupGuidance) {
return