Demo helper GRI Reporting Cycles · Admin wireframes · Option A Page 2 of 12 · Cycle list Invented data · Bluefin Foods Group (fictional tenant)

Reporting cycles

One durable period identity per framework and period. Cycles stamp assignments and entries and carry the methodology lock.
Reporting Boundaries adminNew cycle
Reporting boundaries remain the system of record in I1. Boundary administration is unchanged and stays linked from here; this page becomes the single administration area at the boundary contract step.
Status: All
Framework: All
Start year: All
Annotation · not proposed UIPM ruling 2026-08-23: variant V2 adopted, the lock-state column stays in the list.
Annotation · not proposed UIPM ruling 2026-08-23: the engine is an internal attribute fixed by framework, never user-facing. GRI cycles run on the native engine only; existing frameworks stay on their current path; there is no user choice.
Cycle Status Lock state Usage Updated
2028 (Jan 2028 - Dec 2028) · GRI-NG-2026 [draft]
Annotationforward state · reachable only after spec iii ships the vintage registry
draft complete
0 assignments
0 entries
2026-08-21
2027 (Apr 2027 - Mar 2028) · GRI-NG-2026 [draft]
draft none
0 assignments
0 entries
2026-08-22
2026 (Jan 2026 - Dec 2026) · GRI-NG-2026
active provisional
128 assignments
946 entries
2026-08-20
2025 (Apr 2025 - Mar 2026) · BFG-Group [backfilled]
read-only stale sourceA source boundary changed after attribution. The marker is advisory; a company backfill re-run reconciles and clears it.
active none
1,204 assignments
8,769 entries
2026-08-30
2024 (Apr 2024 - Mar 2025) · BFG-Group [backfilled]
read-only
active none
1,178 assignments
8,402 entries
2026-08-24
2023 (Jan 2023 - Dec 2023) · GRI-NG-2026 [superseded]
Annotationforward state, not reachable in I1 · superseded is reserved for I3 restatements; chip and suffix shown for review only
superseded complete
96 assignments
604 entries
2026-08-15
2022 (Apr 2022 - Mar 2023) · BFG-Group [archived] [backfilled]
read-onlyAnnotationarchived by the run-2026-09-02-b2 re-run as now sourceless (spec 7.4)
archived none
61 assignments
240 entries
2026-09-02
2019 (Jan 2019 - Dec 2020) · BFG-Group [archived] [backfilled] · 0108
read-onlyAnnotationhidden class X4 · spans two year increments, created archived, never a resolution candidate · label carries the spec 6.1 id tiebreak
archived none
0 assignments
0 entries
2026-08-24
2019 (Jan 2019 - Dec 2020) · BFG-Group [archived] [backfilled] · 0110
read-onlyAnnotationthe archived duplicate that forces the id tiebreak · same period and framework, different source boundary
archived none
0 assignments
0 entries
2026-08-24
1998 (Jan 1998 - Dec 1998) · GRI-NG-2026
Annotationhistorical onboarding · pre-2018, well above the 1980 floor
active provisional
34 assignments
112 entries
2026-08-18
Items per page 
10
Demo helperpagination and items-per-page follow the product list-toolbar convention and are presentation-only · the API list contract pins the ordering and defines the three filters only
Page 1 of 1PreviousNext
Annotation · not proposed UIOrdering is pinned by the API: period.startYear descending, then createdAt descending. Column headers are not sortable. The API defines exactly three list filters: status[], frameworkCode, startYear; the free-text search box follows the product list-toolbar convention and is presentation-only. So do the pagination and items-per-page controls under the table: no page-size control or page counter is part of the spec list contract.
Annotation · not proposed UIThis whole area sits behind the per-tenant rollout flag reportingCyclesEnabled, OFF for every legacy tenant until the PM enables it; when off, the area is hidden entirely. All routes require authentication plus an explicit admin role and are tenant-scoped from the token. This fictional tenant: reportingCyclesEnabled true · factorLibraryAvailable false (the I1 default).
Annotation · not proposed UILabel rule (spec 6.1): {startYear} ({MMM YYYY} - {MMM YYYY}) · {frameworkCode} from persisted fields only, then suffixes in order [draft] [archived] [superseded] [backfilled]; [backfilled] applies to every cycle whose provenance.source is backfill, on every screen; active adds no suffix. Identical labels among archived duplicates append the last 4 characters of _id (rows 2019 · 0108 and · 0110). The stale-source badge is not part of the label. Its meaning: a source boundary changed after attribution; the marker is advisory and a company backfill re-run reconciles and clears it.
Annotation · not proposed UIError codes deliberately given no screen of their own: 409 CYCLE_STATE is the generic refusal for any illegal status transition attempted from a list or detail action (the specific refusals drawn across this set are its named siblings). 409 ENGINE_MISMATCH is not an admin-screen error at all: the NxMap-direction guard raises it on legacy sync paths before external I/O, and no remediation UI exists for it. 422 CLONE_TARGET_AMBIGUOUS belongs to the clone endpoint fix (spec 7.6), not to this area.