diff --git a/frontend/src/__tests__/pages/product.test.tsx b/frontend/src/__tests__/pages/product.test.tsx
index 9b520db99..d201df8b8 100644
--- a/frontend/src/__tests__/pages/product.test.tsx
+++ b/frontend/src/__tests__/pages/product.test.tsx
@@ -23,6 +23,6 @@ describe("ProductPage Inflow impact illustration", () => {
expect(screen.getByRole("heading", { name: "Fix before evidence" })).toBeInTheDocument();
expect(screen.getByRole("heading", { name: "Persist and prove" })).toBeInTheDocument();
expect(screen.getByRole("heading", { name: "Tenant-scoped evidence" })).toBeInTheDocument();
- expect(screen.getByRole("heading", { name: "Export-ready package" })).toBeInTheDocument();
+ expect(screen.getByRole("heading", { name: "Export package from stored records" })).toBeInTheDocument();
});
});
diff --git a/frontend/src/app/product/page.tsx b/frontend/src/app/product/page.tsx
index a285dc6d0..e8ba74d95 100644
--- a/frontend/src/app/product/page.tsx
+++ b/frontend/src/app/product/page.tsx
@@ -57,8 +57,8 @@ const inflowEffects = [
const engineResults = [
{
- title: "Blocked or corrected",
- detail: "Bad supplier data is routed back through the fix queue instead of polluting the evidence ledger.",
+ title: "Flagged for fix",
+ detail: "Incomplete or inconsistent supplier rows are surfaced in the fix queue so operators can correct them before treating them as production evidence. Rule blocking is advisory in production today; rejection is not assured.",
icon: PackageX,
},
{
@@ -67,8 +67,8 @@ const engineResults = [
icon: Lock,
},
{
- title: "Export-ready package",
- detail: "Coverage and completeness checklist results, recall posture, and FDA/retailer exports use checked records only.",
+ title: "Export package from stored records",
+ detail: "Coverage and completeness checklist results, recall posture, and export packages are built from records stored for the tenant. RegEngine helps with recordkeeping. How those packages are used stays with the operator.",
icon: FileOutput,
},
];
@@ -105,7 +105,7 @@ function InflowImpactDiagram() {
Raw supplier feed
- CSV/XLSX upload or supplier portal, the JSON events API, or EPCIS-shaped records (EPCIS in Preview)
+ CSV upload or the JSON events API (Live). EPCIS-shaped records are Preview. Other feeds are Beta.
@@ -161,7 +161,7 @@ function InflowImpactDiagram() {
Commit gate says yes
Persist and prove
- RegEngine promotes checked records into tenant-scoped evidence, then uses that evidence for scores and exports.
+ RegEngine can promote records that passed the commit gate into tenant-scoped evidence and use that stored evidence for scores and export packages. Enforcement remains advisory unless RULES_ENGINE_ENFORCE is explicitly set and the route opts in.
diff --git a/frontend/src/app/tools/data-import/components/DataImportClient.tsx b/frontend/src/app/tools/data-import/components/DataImportClient.tsx
index 04d60bff6..19bb845c3 100644
--- a/frontend/src/app/tools/data-import/components/DataImportClient.tsx
+++ b/frontend/src/app/tools/data-import/components/DataImportClient.tsx
@@ -182,19 +182,19 @@ export function DataImportClient() {
return (
Three Ways to Import
- CSV and XLSX upload with templates for every Critical Tracking Event (CTE) type, Sensitech TempTale CSV import, and the JSON events API.
+ CSV upload with templates for every Critical Tracking Event (CTE) type, and the JSON events API. Live today: CSV upload and the JSON events API. Other connectors are Beta or Preview.
}
>
@@ -392,9 +392,9 @@ export function DataImportClient() {
- Sensitech TempTale Import
+ Sensitech TempTale (Beta)
- Upload Sensitech TempTale CSV exports to create temperature-linked CTE events.
+ Sensitech TempTale CSV import is experimental and is not enabled on the production router allowlist.
@@ -436,11 +436,11 @@ export function DataImportClient() {
Upload Sensitech TempTale CSV
- POST /api/v1/ingest/iot/sensitech. Available now via API
+ POST /api/v1/ingest/iot/sensitech exists on experimental routers; not on the production allowlist.
- API Available Now
+ Beta / not in production allowlist
diff --git a/frontend/src/app/tools/data-import/page.tsx b/frontend/src/app/tools/data-import/page.tsx
index 3f275fed3..e6ce411fb 100644
--- a/frontend/src/app/tools/data-import/page.tsx
+++ b/frontend/src/app/tools/data-import/page.tsx
@@ -9,14 +9,14 @@ import { Skeleton } from "@/components/ui/skeleton";
import { filterExperimentalToolLinks } from "@/lib/experimental-features";
export const metadata: Metadata = {
- title: "FSMA 204 Data Import Hub | Upload CSV, XLSX & JSON Traceability Data | RegEngine",
- description: "Import FSMA 204 traceability data via CSV or XLSX upload (including Sensitech TempTale temperature logs), or the JSON events API. Supports all Critical Tracking Event (CTE) types with schema checks and field auto-mapping.",
+ title: "FSMA 204 Data Import Hub | Upload CSV & JSON Traceability Data | RegEngine",
+ description: "Import FSMA 204 traceability data via CSV upload or the JSON events API. Supports all Critical Tracking Event (CTE) types with schema checks and field auto-mapping.",
alternates: {
canonical: "https://regengine.co/tools/data-import",
},
openGraph: {
title: "FSMA 204 Data Import Hub | RegEngine",
- description: "Import traceability data via CSV, XLSX, or the JSON events API with FSMA 204 schema checks. Free tool.",
+ description: "Import traceability data via CSV or the JSON events API with FSMA 204 schema checks. Free tool.",
type: "website",
url: "https://regengine.co/tools/data-import",
},
@@ -28,7 +28,7 @@ const jsonLd = {
"name": "RegEngine Data Import Hub",
"operatingSystem": "All",
"applicationCategory": "BusinessApplication",
- "description": "Import traceability data via CSV, XLSX, or the JSON events API for FSMA 204 compliance.",
+ "description": "Import traceability data via CSV or the JSON events API; helps with FSMA 204 recordkeeping.",
};
function DataImportFallback() {
@@ -37,7 +37,7 @@ function DataImportFallback() {
Data Import Hub
-
Import your traceability data into RegEngine via CSV upload, XLSX spreadsheets (including IoT temperature logs), or the JSON events API. Supports all FSMA 204 Critical Tracking Event (CTE) types with automatic validation and auto-cleaning of common formatting issues.
+
Import your traceability data into RegEngine via CSV upload or the JSON events API. Supports all FSMA 204 Critical Tracking Event (CTE) types with automatic validation and auto-cleaning of common formatting issues.
diff --git a/frontend/src/app/trust/page.tsx b/frontend/src/app/trust/page.tsx
index 2637f9a13..78addf23c 100644
--- a/frontend/src/app/trust/page.tsx
+++ b/frontend/src/app/trust/page.tsx
@@ -50,7 +50,7 @@ const STATUS_SUMMARY = [
},
{
label: 'Preview',
- detail: 'Capability is usable for evaluation in supported workspaces, but has not reached general release. GS1 EPCIS 2.0 export and ingest stay Preview until separately promoted.',
+ detail: 'Capability is usable for evaluation in supported workspaces only and has not reached general release. GS1 EPCIS 2.0 export and ingest stay Preview until separately promoted.',
},
{
label: 'Pilot',
diff --git a/frontend/src/lib/customer-readiness.ts b/frontend/src/lib/customer-readiness.ts
index 550dacffc..1f09b1f32 100644
--- a/frontend/src/lib/customer-readiness.ts
+++ b/frontend/src/lib/customer-readiness.ts
@@ -38,7 +38,7 @@ export const INTEGRATION_TYPE_LABELS: Record = {
export const INTEGRATION_TYPE_DESCRIPTIONS: Record = {
standards_based: 'Standards-oriented ingest and export support without a claim of managed two-way sync or source-system write-back.',
api_based_custom: 'Customer-managed integration via RegEngine API and implementation guidance. The customer builds and maintains the workflow unless otherwise scoped.',
- file_based_import: 'Manual CSV/XLSX upload with field mapping and exception handling. Scheduled file delivery is on the roadmap.',
+ file_based_import: 'Manual CSV upload with field mapping and exception handling. XLSX is not accepted in the current Data Import Hub.',
one_way_export: 'RegEngine prepares outbound packages. No write-back to source system.',
};
@@ -184,10 +184,10 @@ export const CAPABILITY_REGISTRY: CapabilityRegistryEntry[] = [
id: 'sensitech',
name: 'Sensitech TempTale',
category: 'food_safety_iot',
- status: 'implemented',
+ status: 'preparation',
delivery_mode: 'csv_sftp_import',
integration_type: 'file_based_import',
- customer_copy: 'Sensitech CSV exports are supported in the data-import flow for temperature-linked events.',
+ customer_copy: 'Sensitech TempTale CSV import is experimental and excluded from the production router allowlist.',
evidence_url: '/tools/data-import',
},
{