From 27bcfc35ac015ab2f5f840baafa190fc6debf193 Mon Sep 17 00:00:00 2001 From: Christopher Sellers <1@christophersellers.com> Date: Sat, 24 Oct 2026 20:53:10 -0700 Subject: [PATCH 1/4] frontend: EPCIS 2.0 export (Preview) on all plans; FSMA 204 24-hour records copy Signed-off-by: Christopher Sellers <1@christophersellers.com> --- frontend/src/app/fsma-204/page.tsx | 2 +- frontend/src/app/pricing/page.tsx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/fsma-204/page.tsx b/frontend/src/app/fsma-204/page.tsx index 3b8e9a9e8..99fb239bf 100644 --- a/frontend/src/app/fsma-204/page.tsx +++ b/frontend/src/app/fsma-204/page.tsx @@ -279,7 +279,7 @@ export default function FSMA204BusinessGuidePage() {

Without a system

- Dig through paper records, spreadsheets across multiple computers, call suppliers for missing info. Typical response: 3-5 days, incomplete. + Dig through paper records, spreadsheets across multiple computers, call suppliers for missing info. The rule does not wait: records must be provided within 24 hours of an FDA request (21 CFR 1.1455(b)(3)).

diff --git a/frontend/src/app/pricing/page.tsx b/frontend/src/app/pricing/page.tsx index a9b01c76e..1c7764e0b 100644 --- a/frontend/src/app/pricing/page.tsx +++ b/frontend/src/app/pricing/page.tsx @@ -79,6 +79,7 @@ const PRICING_TIERS = [ 'Supplier onboarding + FTL scoping', 'CSV upload + API ingestion', 'Self-check scoring + FDA-oriented sortable export workflow', + 'EPCIS 2.0 export (Preview)', 'Recall drill workflows', 'Email support', ], @@ -96,7 +97,7 @@ const PRICING_TIERS = [ 'Everything in Base', 'Multi-facility operations', 'Retailer-specific readiness benchmarks', - 'FDA-oriented sortable export + EPCIS 2.0 export (Preview)', + 'EPCIS 2.0 export (Preview)', 'Priority email support', ], }, @@ -113,6 +114,7 @@ const PRICING_TIERS = [ 'Everything in Standard', 'Priority onboarding support', 'Custom integration scoping (per scope of work)', + 'EPCIS 2.0 export (Preview)', 'Shared Slack channel (per agreement)', 'Quarterly compliance review (scheduled per agreement)', ], From 7a2087be916eac9dfa5f9b6bca9b166072340631 Mon Sep 17 00:00:00 2001 From: Christopher Sellers <1@christophersellers.com> Date: Sat, 24 Oct 2026 21:42:06 -0700 Subject: [PATCH 2/4] fix(fsma-204): cite 21 CFR 1.1455(c)(1) for the 24-hour records request eCFR: (b) has no (3); (c)(1) is the 24-hour FDA request; the sortable spreadsheet docstrings cite (c)(3)(ii). Signed-off-by: Christopher Sellers <1@christophersellers.com> --- frontend/src/app/fsma-204/page.tsx | 2 +- regengine/client.py | 2 +- services/graph/app/routers/fsma/compliance.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/fsma-204/page.tsx b/frontend/src/app/fsma-204/page.tsx index 99fb239bf..47d7357c9 100644 --- a/frontend/src/app/fsma-204/page.tsx +++ b/frontend/src/app/fsma-204/page.tsx @@ -279,7 +279,7 @@ export default function FSMA204BusinessGuidePage() {

Without a system

- Dig through paper records, spreadsheets across multiple computers, call suppliers for missing info. The rule does not wait: records must be provided within 24 hours of an FDA request (21 CFR 1.1455(b)(3)). + Dig through paper records, spreadsheets across multiple computers, call suppliers for missing info. The rule does not wait: records must be provided within 24 hours of an FDA request (21 CFR 1.1455(c)(1)).

diff --git a/regengine/client.py b/regengine/client.py index d67b576a7..5c574c905 100644 --- a/regengine/client.py +++ b/regengine/client.py @@ -472,7 +472,7 @@ def export_fda( """ Generate FDA-compliant sortable spreadsheet (CSV). - Per 21 CFR 1.1455(b)(3), produces a spreadsheet within 24 hours + Per 21 CFR 1.1455(c)(3)(ii), produces a spreadsheet within 24 hours containing all traceability records for the specified lot. Args: diff --git a/services/graph/app/routers/fsma/compliance.py b/services/graph/app/routers/fsma/compliance.py index 42a918ea3..c42bcfa1e 100644 --- a/services/graph/app/routers/fsma/compliance.py +++ b/services/graph/app/routers/fsma/compliance.py @@ -107,7 +107,7 @@ async def export_fda_request_sheet( formatted exactly according to the FDA's Excel template columns: [Traceability Lot Code, Product, Quantity, Unit, Location, Date, Time, ...] - Required by FSMA 204 Section 1.1455(b)(3) - must be provided within 24 hours. + Required by FSMA 204 Section 1.1455(c)(3)(ii) - must be provided within 24 hours. """ logger.info("fda_request_export_initiated", start=start_date, end=end_date) From 5128dedd47436185ec58b6a1ce31b1e790aabcca Mon Sep 17 00:00:00 2001 From: Christopher <131207452+PetrefiedThunder@users.noreply.github.com> Date: Mon, 26 Oct 2026 00:30:11 -0700 Subject: [PATCH 3/4] docs(fsma-204): cite 1.1455(c)(3) for the 24 hour deadline and (c)(3)(ii) for the spreadsheet Signed-off-by: Christopher <131207452+PetrefiedThunder@users.noreply.github.com> --- regengine/client.py | 6 ++++-- services/graph/app/routers/fsma/compliance.py | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/regengine/client.py b/regengine/client.py index 5c574c905..fa77721e2 100644 --- a/regengine/client.py +++ b/regengine/client.py @@ -472,8 +472,10 @@ def export_fda( """ Generate FDA-compliant sortable spreadsheet (CSV). - Per 21 CFR 1.1455(c)(3)(ii), produces a spreadsheet within 24 hours - containing all traceability records for the specified lot. + Per 21 CFR 1.1455(c)(3), records must be provided within 24 hours of an + FDA request; per 1.1455(c)(3)(ii), they must be in an electronic sortable + spreadsheet. Produces that spreadsheet with all traceability records for + the specified lot. Args: tlc: Traceability Lot Code diff --git a/services/graph/app/routers/fsma/compliance.py b/services/graph/app/routers/fsma/compliance.py index c42bcfa1e..ebf0b5f7d 100644 --- a/services/graph/app/routers/fsma/compliance.py +++ b/services/graph/app/routers/fsma/compliance.py @@ -107,7 +107,8 @@ async def export_fda_request_sheet( formatted exactly according to the FDA's Excel template columns: [Traceability Lot Code, Product, Quantity, Unit, Location, Date, Time, ...] - Required by FSMA 204 Section 1.1455(c)(3)(ii) - must be provided within 24 hours. + Required by FSMA 204: 21 CFR 1.1455(c)(3) sets the 24 hour deadline after an + FDA request, and 1.1455(c)(3)(ii) requires the electronic sortable spreadsheet. """ logger.info("fda_request_export_initiated", start=start_date, end=end_date) From d034af3bad6bf2a5a2b52f5b98f05bf9fefb0e11 Mon Sep 17 00:00:00 2001 From: Christopher <131207452+PetrefiedThunder@users.noreply.github.com> Date: Mon, 26 Oct 2026 01:49:52 -0700 Subject: [PATCH 4/4] docs(frontend): cite full FSMA 204 24 hour rule on fsma-204 page 21 CFR 1.1455(c)(1) also allows a reasonable time FDA agrees to. Signed-off-by: Christopher <131207452+PetrefiedThunder@users.noreply.github.com> --- frontend/src/app/fsma-204/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/fsma-204/page.tsx b/frontend/src/app/fsma-204/page.tsx index 47d7357c9..d3307276e 100644 --- a/frontend/src/app/fsma-204/page.tsx +++ b/frontend/src/app/fsma-204/page.tsx @@ -279,7 +279,7 @@ export default function FSMA204BusinessGuidePage() {

Without a system

- Dig through paper records, spreadsheets across multiple computers, call suppliers for missing info. The rule does not wait: records must be provided within 24 hours of an FDA request (21 CFR 1.1455(c)(1)). + Dig through paper records, spreadsheets across multiple computers, call suppliers for missing info. The rule does not wait: records must be provided within 24 hours of an FDA request, or within some reasonable time to which FDA has agreed (21 CFR 1.1455(c)(1)).