From 011c3880c8932289cc98713968dccdac18c0711c Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Thu, 6 Aug 2026 12:42:20 +0200 Subject: [PATCH] Surface exact service journey filing --- docs/EAKTE_ARCHITECTURE.md | 7 ++- webui/src/features/records/RecordsPage.tsx | 65 ++++++++++++++++++++-- webui/src/i18n/generatedTranslations.ts | 4 ++ 3 files changed, 67 insertions(+), 9 deletions(-) diff --git a/docs/EAKTE_ARCHITECTURE.md b/docs/EAKTE_ARCHITECTURE.md index 96c616d..8b946f4 100644 --- a/docs/EAKTE_ARCHITECTURE.md +++ b/docs/EAKTE_ARCHITECTURE.md @@ -27,8 +27,8 @@ packages tracked by Records #2-#6: valid/recorded time, purpose capture, institutional context, and search; - a full-height eAkte workspace with file plan, list, details, chronology, temporal status, create/edit, and filing actions; -- a provider-neutral Core filing contract with exact Files-version and - Cases-revision providers. +- a provider-neutral Core filing contract with exact Files-version, + Cases-revision, Forms-submission, and formal-Decision providers; - governed close/reopen transitions, class-bound retention calculation, effective-dated holds, appraisal, evidence-bound disposition proposals, and mandatory independent approval before finalization; @@ -224,7 +224,8 @@ available in an evidence/details view. 1. Persist file plans, record classes, records, record items, exact references, chronology, permissions, temporal reads, institutional context, and search. 2. Integrate filing from Cases, Forms Runtime, Decisions, Campaign/Postbox, - Files, and Reporting. + Files, and Reporting. **Cases, Forms Runtime, Decisions, and Files are + implemented; Campaign/Postbox and Reporting remain.** 3. Add closure, retention calculation, holds, appraisal, and reviewed disposition without destructive provider effects. **Implemented.** 4. Add native transfer packages and one target-tested xdomea/archive provider. diff --git a/webui/src/features/records/RecordsPage.tsx b/webui/src/features/records/RecordsPage.tsx index 4c7476f..09e5ca0 100644 --- a/webui/src/features/records/RecordsPage.tsx +++ b/webui/src/features/records/RecordsPage.tsx @@ -58,6 +58,14 @@ import { const EMPTY_CATALOG: RecordCatalog = { file_plan: [], classes: [] }; const PAGE_SIZE = 50; +type FilingPreset = { + sourceModule: string; + resourceType: string; + resourceId: string; + sourceRevision: string; + sourceLabel: string; +}; + export default function RecordsPage({ settings, auth }: PlatformRouteContext) { const [searchParams, setSearchParams] = useSearchParams(); const { selection, selectionKey, isDefault: temporalIsDefault } = useTemporalDataContext(); @@ -86,6 +94,7 @@ export default function RecordsPage({ settings, auth }: PlatformRouteContext) { const canWrite = auth.scopes.includes("records:workspace:write") || auth.scopes.includes("records:workspace:admin"); const canAdmin = auth.scopes.includes("records:workspace:admin"); + const filingPreset = useMemo(() => filingPresetFrom(searchParams), [searchParams]); const reload = useCallback(() => setReloadKey((value) => value + 1), []); @@ -267,6 +276,13 @@ export default function RecordsPage({ settings, auth }: PlatformRouteContext) { {error && {error}} + {filingPreset && + + {i18nMessage("i18n:govoplan-records.source_ready", { + value0: filingPreset.sourceLabel || "An exact source revision" + })} {i18nMessage("i18n:govoplan-records.select_destination")} + + }