212
Epics
2691
Total Tasks
1246
Critical
2691
Pending
133
Integration
0
Completed

Filter Tasks

All Tasks

Build Export Date Range Picker UI widget
epic-accounting-system-export-foundation-task-007

Implement the ExportDateRangePicker as a self-contained Flutter widget with no upstream service dependencies. Render a s...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

high low frontend Tier 0 🎨 frontend specialist
Build Export Confirmation Dialog UI widget
epic-accounting-system-export-foundation-task-008

Implement the ExportConfirmationDialog as a self-contained Flutter modal widget with no upstream service dependencies. D...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

high low frontend Tier 0 🎨 frontend specialist
Build Export History Panel UI component
epic-accounting-system-export-foundation-task-012

Implement the ExportHistoryPanel Flutter widget that displays a scrollable list of past export runs for the current org....

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

high low frontend Tier 2 🎨 frontend specialist
Implement Export Run Repository data layer
epic-accounting-system-export-foundation-task-002

Build the ExportRunRepository class in Dart with full CRUD access to the export_runs table via Supabase. Implement metho...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical medium backend Tier 1 ⚙ backend specialist
Implement Approved Claims Query Service
epic-accounting-system-export-foundation-task-003

Build the ApprovedClaimsQueryService that fetches approved expense claims filtered by org_id, date range (submitted_at b...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical medium backend Tier 1 ⚙ backend specialist
Implement Chart of Accounts Mapper
epic-accounting-system-export-foundation-task-004

Build the ChartOfAccountsMapper that resolves org-specific mappings from expense_type and activity_type to accounting ac...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical medium backend Tier 1 ⚙ backend specialist
Implement Double-Export Guard service
epic-accounting-system-export-foundation-task-009

Build the DoubleExportGuard service that enforces the idempotency invariant: no approved claim may be included in more t...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical medium backend Tier 2 ⚙ backend specialist
Implement Accounting Exporter Service orchestrator
epic-accounting-system-export-foundation-task-013

Build the AccountingExporterService that orchestrates the full export pipeline: (1) run DoubleExportGuard pre-flight che...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical high backend Tier 3 ⚙ backend specialist
Create export_runs database schema and migrations
epic-accounting-system-export-foundation-task-001

Design and implement the export_runs table in Supabase with columns for run_id, org_id, initiated_by, status, date_range...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical medium database Tier 0 🗄 database specialist
Implement CSV and JSON File Generator utility
epic-accounting-system-export-foundation-task-005

Build the CsvJsonFileGenerator infrastructure utility that serializes a list of structured accounting records into both ...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Implement Accounting Credentials Vault
epic-accounting-system-export-foundation-task-006

Build the AccountingCredentialsVault for secure server-side storage of per-org API credentials for Xledger and Dynamics....

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Implement Generate Export Supabase Edge Function
epic-accounting-system-export-foundation-task-014

Build the generate-export Supabase Edge Function that serves as the secure server-side entry point for all export operat...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical high infrastructure Tier 4 🏗 infrastructure specialist
Implement Xledger Exporter service
epic-accounting-system-export-foundation-task-010

Build the XledgerExporter service that transforms a list of ApprovedClaim objects into Xledger-compatible accounting rec...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical high integration Tier 2 🔗 integration specialist
Implement Dynamics Exporter service
epic-accounting-system-export-foundation-task-011

Build the DynamicsExporter service that transforms ApprovedClaim objects into Microsoft Dynamics 365-compatible accounti...

Accounting Export Foundation: Data Layer and Infrastructure · Accounting System Export and Integration

critical high integration Tier 2 🔗 integration specialist
Add Empty State and Error State to Export History Panel
epic-accounting-system-export-engine-task-009

Extend the Export History Panel with proper empty state (no exports yet, with a helpful message) and error state (networ...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

medium low frontend Tier 5 🎨 frontend specialist
Build Export History Panel UI Component
epic-accounting-system-export-engine-task-008

Build the Export History Panel Flutter widget that displays a chronological list of completed export runs for the curren...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

high low frontend Tier 4 🎨 frontend specialist
Unit Test XledgerExporter and DynamicsExporter
epic-accounting-system-export-engine-task-011

Write unit tests for both XledgerExporter and DynamicsExporter. For each exporter: test field mapping correctness using ...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

high medium testing Tier 3 🧪 testing specialist
Define AccountingExporter Abstract Interface
epic-accounting-system-export-engine-task-001

Define the shared AccountingExporter abstract interface (or abstract class in Dart) that both XledgerExporter and Dynami...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical low backend Tier 0 ⚙ backend specialist
Implement Double-Export Guard Service
epic-accounting-system-export-engine-task-002

Implement the Double-Export Guard service that atomically filters out already-exported claims before a new export run be...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical medium backend Tier 1 ⚙ backend specialist
Implement XledgerExporter: Field Mapping and Validation
epic-accounting-system-export-engine-task-003

Implement the XledgerExporter class that implements the AccountingExporter interface. Map approved claim fields (amount,...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical high backend Tier 1 ⚙ backend specialist
Implement XledgerExporter: CSV/JSON Payload Serialization
epic-accounting-system-export-engine-task-004

Extend the XledgerExporter with payload serialization: produce both a Xledger-compatible CSV and a JSON representation o...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical medium backend Tier 2 ⚙ backend specialist
Implement DynamicsExporter: Field Mapping and Schema
epic-accounting-system-export-engine-task-005

Implement the DynamicsExporter class that implements the AccountingExporter interface for HLF. Map approved claim fields...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical high backend Tier 1 ⚙ backend specialist
Implement DynamicsExporter: Payload Serialization
epic-accounting-system-export-engine-task-006

Extend the DynamicsExporter with payload serialization that produces a Dynamics-portal-compatible export payload (JSON f...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical medium backend Tier 2 ⚙ backend specialist
Integrate Double-Export Guard with Exporter Pipeline
epic-accounting-system-export-engine-task-007

Wire the Double-Export Guard into the exporter execution pipeline. Before any exporter runs, invoke the guard to obtain ...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical medium integration Tier 3 ⚙ backend specialist
Unit Test Double-Export Guard Atomicity
epic-accounting-system-export-engine-task-010

Write unit and integration tests for the Double-Export Guard. Test cases must cover: (1) claims already in a completed e...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical medium testing Tier 4 🧪 testing specialist
End-to-End Export Pipeline Integration Test
epic-accounting-system-export-engine-task-012

Write an end-to-end integration test for the full export pipeline: seed approved claims in the test database, trigger an...

Export Engine: Idempotency Guard and Org-Specific Exporters · Accounting System Export and Integration

critical high testing Tier 5 🧪 testing specialist
Implement signed URL and API push confirmation response handling
epic-accounting-system-export-orchestration-task-008

Based on the ExportResult type returned by AccountingExporterService, implement the two response branches in the Edge Fu...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

high medium api Tier 6 🔌 api specialist
Integrate double-export guard and export run persistence
epic-accounting-system-export-orchestration-task-004

Add the DoubleExportGuard check at the start of the orchestration pipeline: if an export run already exists for the same...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

high medium backend Tier 3 ⚙ backend specialist
End-to-end integration test suite for the export Edge Function
epic-accounting-system-export-orchestration-task-009

Write an integration test suite that invokes the Edge Function locally using the Supabase Functions test harness. Cover:...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

high high testing Tier 7 🧪 testing specialist
Define ExportResult type and AccountingExporterService interface
epic-accounting-system-export-orchestration-task-001

Define the ExportResult data model (covering signed URL path, API push confirmation, export run ID, status, and error de...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

critical low backend Tier 0 ⚙ backend specialist
Implement runtime org-specific exporter selection logic
epic-accounting-system-export-orchestration-task-002

Implement the factory/strategy pattern inside AccountingExporterService that reads the organisation's accounting system ...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

critical medium backend Tier 1 ⚙ backend specialist
Integrate approved claims query and chart-of-accounts field mapping
epic-accounting-system-export-orchestration-task-003

Wire the ApprovedClaimsQueryService and ChartOfAccountsMapper calls into the AccountingExporterService orchestration seq...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

critical medium backend Tier 2 ⚙ backend specialist
Scaffold Supabase Edge Function with JWT auth and role enforcement
epic-accounting-system-export-orchestration-task-006

Create the Supabase Edge Function 'generate-accounting-export'. Implement JWT verification using Supabase's built-in aut...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Invoke AccountingExporterService securely from Edge Function
epic-accounting-system-export-orchestration-task-007

Wire the AccountingExporterService invocation into the Edge Function. Fetch accounting credentials from the server-side ...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

critical high integration Tier 5 🔗 integration specialist
Complete AccountingExporterService pipeline and unit tests
epic-accounting-system-export-orchestration-task-005

Finalise the full orchestration sequence in AccountingExporterService: guard check → claims query → field mapping → file...

Export Orchestration: Exporter Service and Secure Edge Function · Accounting System Export and Integration

critical medium testing Tier 4 ⚙ backend specialist
Implement Export Date Range Picker widget
epic-accounting-system-export-ui-task-001

Build the ExportDateRangePicker Flutter widget with accessible date selection controls. Must support keyboard navigation...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

high low frontend Tier 0 🎨 frontend specialist
Implement Export Confirmation Dialog with skipped-claims detail
epic-accounting-system-export-ui-task-002

Build the ExportConfirmationDialog widget that displays the export summary before the coordinator commits. Must show: se...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

high low frontend Tier 1 🎨 frontend specialist
Implement Export History Panel widget
epic-accounting-system-export-ui-task-003

Build the ExportHistoryPanel widget that fetches and displays past export runs for the current organisation. Each row sh...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

high low frontend Tier 0 🎨 frontend specialist
Implement role-based access guard for export action
epic-accounting-system-export-ui-task-007

Implement a RoleGuard wrapper inside AccountingExportScreen that reads the current user role from the role state provide...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

high low frontend Tier 4 🎨 frontend specialist
Implement downloadable file handling from export result
epic-accounting-system-export-ui-task-008

Add file download handling to AccountingExportScreen: on ExportSuccess state the BLoC emits a signed file URL; the scree...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

high low frontend Tier 4 🎨 frontend specialist
WCAG 2.2 AA accessibility audit for export screens
epic-accounting-system-export-ui-task-009

Perform a full WCAG 2.2 AA accessibility review of all four components in this epic: AccountingExportScreen, ExportDateR...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

high medium testing Tier 5 🎨 frontend specialist
Widget and integration tests for accounting export UI
epic-accounting-system-export-ui-task-010

Write flutter_test widget tests for ExportDateRangePicker (preset selection, invalid range validation), ExportConfirmati...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

high medium testing Tier 6 🧪 testing specialist
Build AccountingExportScreen BLoC and state model
epic-accounting-system-export-ui-task-004

Create the AccountingExportScreenBloc (BLoC pattern) with states: Idle, LoadingConfig, ConfigLoaded(exporterType, orgNam...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

critical medium frontend Tier 2 🎨 frontend specialist
Compose AccountingExportScreen UI layout
epic-accounting-system-export-ui-task-006

Assemble the full AccountingExportScreen widget that hosts ExportDateRangePicker, a trigger button (visible only to coor...

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

critical medium frontend Tier 3 🎨 frontend specialist
Wire Export Edge Function client into screen BLoC
epic-accounting-system-export-ui-task-005

Integrate the Export Edge Function Dart client (wrapping Supabase Functions invoke) into the AccountingExportScreenBloc....

Accounting Export User Interface: Admin Screen and Coordinator Workflow · Accounting System Export and Integration

critical medium integration Tier 3 🔗 integration specialist
Document badge data layer and widget usage
epic-achievement-badges-foundation-task-014

Write developer documentation covering: the database schema for all four badge tables including column descriptions and ...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

medium low documentation Tier 5 📝 documentor
Write unit tests for BadgeIconAssetManager
epic-achievement-badges-foundation-task-012

Write unit tests for BadgeIconAssetManager covering: resolveIconPath returns correct asset path for locked and unlocked ...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

medium low testing Tier 1 🧪 testing specialist
Apply design tokens and WCAG contrast to BadgeCardWidget
epic-achievement-badges-foundation-task-009

Integrate the project's design token system into BadgeCardWidget. Earned badge cards must use an accent colour from the ...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

high low frontend Tier 3 🎨 frontend specialist
Build BadgeIconAssetManager Flutter service
epic-achievement-badges-foundation-task-006

Implement BadgeIconAssetManager as a Flutter service class that resolves asset paths for badge icons. Must support locke...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

high low infrastructure Tier 0 🎨 frontend specialist
Register badge icon assets in pubspec.yaml
epic-achievement-badges-foundation-task-007

Create the badge icon asset directory structure under assets/badges/ with locked/ and unlocked/ subdirectories. Add plac...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

high low infrastructure Tier 1 🏗 infrastructure specialist
Write unit tests for BadgeRepository
epic-achievement-badges-foundation-task-010

Write unit and integration tests for BadgeRepository covering: fetchEarnedBadgesForUser returns only records scoped to t...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

high medium testing Tier 3 🧪 testing specialist
Write unit tests for BadgeDefinitionRepository
epic-achievement-badges-foundation-task-011

Write unit tests for BadgeDefinitionRepository covering: correct deserialisation of the criteria JSON column into typed ...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

high low testing Tier 3 🧪 testing specialist
Write widget tests for BadgeCardWidget
epic-achievement-badges-foundation-task-013

Write Flutter widget tests for BadgeCardWidget covering: earned badge renders unlocked icon and correct name label, lock...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

high low testing Tier 4 🧪 testing specialist
Implement BadgeRepository data access layer
epic-achievement-badges-foundation-task-003

Implement the BadgeRepository Dart class that provides full CRUD operations for earned_badges and tier_assignments table...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

critical low backend Tier 2 ⚙ backend specialist
Implement BadgeDefinitionRepository with criteria support
epic-achievement-badges-foundation-task-004

Implement BadgeDefinitionRepository Dart class for the badge_definitions table. Must support fetching all badge definiti...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

critical low backend Tier 2 ⚙ backend specialist
Implement RecognitionTierRepository
epic-achievement-badges-foundation-task-005

Implement RecognitionTierRepository Dart class providing read and write access to the recognition_tiers table. Expose me...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

critical low backend Tier 2 ⚙ backend specialist
Design Supabase schema for badge tables
epic-achievement-badges-foundation-task-001

Design and write Supabase migration scripts for badge_definitions, earned_badges, recognition_tiers, and tier_assignment...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

critical medium database Tier 0 🗄 database specialist
Implement RLS policies for badge tables
epic-achievement-badges-foundation-task-002

Write and apply Row Level Security policies for all four badge-related tables (badge_definitions, earned_badges, recogni...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

critical medium database Tier 1 🗄 database specialist
Implement BadgeCardWidget base UI component
epic-achievement-badges-foundation-task-008

Implement the BadgeCardWidget as a stateless Flutter widget that renders a single badge. The widget must display: badge ...

Achievement Badges Foundation Data Layer · Achievement Badges & Status Recognition

critical low frontend Tier 2 🎨 frontend specialist
Expose RecognitionTierService as Riverpod provider
epic-achievement-badges-services-task-013

Wrap RecognitionTierService in a Riverpod AsyncNotifierProvider with getCurrentTier(mentorId) and getEligibilitySummary(...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

medium low backend Tier 6 ⚙ backend specialist
Document service contracts and Riverpod provider graph
epic-achievement-badges-services-task-018

Write developer documentation for the four badge backend services: method signatures with parameter and return type desc...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

medium low documentation Tier 8 📝 documentor
Expose PeerMentorStatsAggregator as Riverpod provider
epic-achievement-badges-services-task-006

Wrap PeerMentorStatsAggregator in a Riverpod AsyncNotifierProvider. Expose getStatsForMentor(mentorId) and getMilestoneS...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

high medium backend Tier 3 ⚙ backend specialist
Implement BadgeConfigurationService CRUD and caching
epic-achievement-badges-services-task-007

Implement BadgeConfigurationService as a Dart class with Riverpod provider. Implement loadOrgBadgeConfig(orgId) with in-...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

high medium backend Tier 1 ⚙ backend specialist
Implement criteria validation rules for badge config
epic-achievement-badges-services-task-008

Build the criteria validation sub-system inside BadgeConfigurationService. Rules include: numeric thresholds must be pos...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

high medium backend Tier 2 ⚙ backend specialist
Expose BadgeAwardService as Riverpod provider
epic-achievement-badges-services-task-010

Wrap BadgeAwardService in a Riverpod Provider and expose awardBadge and getAwardedBadgesForMentor(mentorId) methods. Int...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

high low backend Tier 2 ⚙ backend specialist
Implement RecognitionTierService eligibility evaluation
epic-achievement-badges-services-task-011

Implement RecognitionTierService.evaluateEligibility(mentorId, orgId) which queries current mentor stats via PeerMentorS...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

high medium backend Tier 4 ⚙ backend specialist
Implement tier assignment and revocation with award period
epic-achievement-badges-services-task-012

Implement RecognitionTierService.assignTier(mentorId, tier, orgId) and revokeTier(mentorId, orgId). Assignment writes a ...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

high medium backend Tier 5 ⚙ backend specialist
Unit test BadgeConfigurationService criteria validation
epic-achievement-badges-services-task-016

Write unit tests for BadgeConfigurationService covering: valid criteria save successfully, negative threshold values are...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

high low testing Tier 3 🧪 testing specialist
Define Dart models for badge stats aggregation
epic-achievement-badges-services-task-001

Create immutable Dart data classes for PeerMentorStats, AssignmentCount, StreakData, TrainingCompletion, and HonorarMile...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical low backend Tier 0 ⚙ backend specialist
Define Dart models for badge award and configuration
epic-achievement-badges-services-task-002

Create immutable Dart data classes for EarnedBadge, BadgeDefinition, BadgeCriteria, OrgBadgeConfig, and BadgeAwardResult...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical low backend Tier 0 ⚙ backend specialist
Define Dart models for recognition tier service
epic-achievement-badges-services-task-003

Create immutable Dart data classes for RecognitionTier, TierEligibility, TierAwardPeriod, and TierAssignment. Include ti...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical low backend Tier 0 ⚙ backend specialist
Implement honorar milestone threshold counting logic
epic-achievement-badges-services-task-005

Implement business logic within PeerMentorStatsAggregator that accurately counts the 3rd and 15th assignment milestones ...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical medium backend Tier 2 ⚙ backend specialist
Implement BadgeAwardService atomic write with idempotency
epic-achievement-badges-services-task-009

Implement BadgeAwardService.awardBadge(mentorId, badgeDefinitionId, orgId) using a Supabase upsert with a composite uniq...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical medium backend Tier 1 ⚙ backend specialist
Implement PeerMentorStatsAggregator Supabase queries
epic-achievement-badges-services-task-004

Implement the core Supabase query layer inside PeerMentorStatsAggregator. Write efficient index-targeted queries for: to...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical high database Tier 1 🗄 database specialist
Unit test PeerMentorStatsAggregator threshold logic
epic-achievement-badges-services-task-014

Write unit tests for PeerMentorStatsAggregator covering: correct 3rd and 15th assignment threshold detection, streak len...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical medium testing Tier 3 🧪 testing specialist
Unit test BadgeAwardService idempotency and atomicity
epic-achievement-badges-services-task-015

Write unit tests for BadgeAwardService covering: successful badge award returns EarnedBadge with server timestamp, dupli...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical medium testing Tier 3 🧪 testing specialist
Integration test full badge award pipeline
epic-achievement-badges-services-task-017

Write integration tests that exercise the full pipeline: PeerMentorStatsAggregator computes stats → RecognitionTierServi...

Badge Backend Services & Stats Aggregation · Achievement Badges & Status Recognition

critical high testing Tier 7 🧪 testing specialist
Implement Badge Award Service
epic-achievement-badges-ui-task-007

Create the badge-award-service that handles the business logic of awarding a badge to a peer mentor: validates the award...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high medium backend Tier 1 ⚙ backend specialist
Implement Badge Configuration Service
epic-achievement-badges-ui-task-008

Build the badge-configuration-service that provides a typed, validated view of all active badge definitions by wrapping ...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high medium backend Tier 1 ⚙ backend specialist
Implement Recognition Tier Service
epic-achievement-badges-ui-task-009

Create the recognition-tier-service that determines and caches the current recognition tier for a peer mentor, detects w...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high medium backend Tier 1 ⚙ backend specialist
Implement Peer Mentor Stats Aggregator
epic-achievement-badges-ui-task-010

Build the peer-mentor-stats-aggregator service that computes activity counts, unique contact counts, and other metrics n...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high medium backend Tier 1 ⚙ backend specialist
Implement Badge Evaluation Service
epic-achievement-badges-ui-task-015

Build the badge-evaluation-service that evaluates all active badge definitions against the peer mentor's current stats f...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high high backend Tier 2 ⚙ backend specialist
Implement Recognition Tier Repository
epic-achievement-badges-ui-task-003

Create the recognition-tier-repository that fetches tier definitions (tier name, icon key, award period, threshold crite...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high low database Tier 0 🗄 database specialist
Implement Badge Card Widget
epic-achievement-badges-ui-task-005

Build the reusable badge-card-widget Flutter UI component that renders a single badge in both earned (full colour, times...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high low frontend Tier 2 🎨 frontend specialist
Implement Badge Detail Modal
epic-achievement-badges-ui-task-011

Build the badge-detail-modal Flutter bottom sheet UI component that displays full badge criteria text, earned timestamp ...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high low frontend Tier 3 🎨 frontend specialist
Implement Recognition Tier Banner
epic-achievement-badges-ui-task-012

Build the recognition-tier-banner Flutter UI widget that displays the current tier name, tier icon, and award period. Im...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high low frontend Tier 2 🎨 frontend specialist
Implement Badge Icon Asset Manager
epic-achievement-badges-ui-task-004

Build the badge-icon-asset-manager infrastructure component that maps badge definition icon keys to Flutter asset paths ...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high low infrastructure Tier 1 🎨 frontend specialist
Implement Badge Criteria Edge Function
epic-achievement-badges-ui-task-016

Implement the badge-criteria-edge-function Supabase Edge Function that orchestrates server-side badge evaluation on a tr...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

high medium infrastructure Tier 3 🏗 infrastructure specialist
Implement Badge Repository
epic-achievement-badges-ui-task-001

Create the badge-repository data layer component that provides CRUD operations for earned badges stored in Supabase. Imp...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

critical low database Tier 0 🗄 database specialist
Implement Badge Definition Repository
epic-achievement-badges-ui-task-002

Create the badge-definition-repository that loads static badge definitions (criteria, icon keys, tier thresholds, displa...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

critical low database Tier 0 🗄 database specialist
Implement Badge Shelf Widget
epic-achievement-badges-ui-task-013

Build the badge-shelf-widget as a horizontally scrollable profile section showing all earned and locked badges using bad...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

critical medium frontend Tier 3 🎨 frontend specialist
Implement Badge Earned Celebration Overlay
epic-achievement-badges-ui-task-014

Build the badge-earned-celebration-overlay as a transient full-screen Flutter animation overlay triggered by badge-bloc ...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

critical medium frontend Tier 3 🎨 frontend specialist
Implement Badge BLoC
epic-achievement-badges-ui-task-006

Implement the badge-bloc BLoC that loads earned badges for the current peer mentor, caches them in memory, reacts to bad...

Badge UI Components & BLoC State Management · Achievement Badges & Status Recognition

critical medium infrastructure Tier 1 🎨 frontend specialist
Implement evaluation audit logging in edge function
epic-achievement-badges-evaluation-engine-task-012

Add structured audit logging to the edge function that records each evaluation run: timestamp, peer_mentor_id, org_id, b...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

medium low backend Tier 5 ⚙ backend specialist
Write deployment scripts and runbook for edge function
epic-achievement-badges-evaluation-engine-task-015

Create deployment scripts for the badge-criteria-edge-function covering: Supabase CLI deploy command, environment variab...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

medium low deployment Tier 7 🚀 devops specialist
Implement streak-based criteria evaluator
epic-achievement-badges-evaluation-engine-task-003

Implement the StreakCriteriaEvaluator class that detects consecutive activity streaks within a defined time window. Must...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

high medium backend Tier 1 ⚙ backend specialist
Implement training-completion criteria evaluator
epic-achievement-badges-evaluation-engine-task-004

Implement the TrainingCompletionCriteriaEvaluator class that verifies whether a peer mentor has completed a required cer...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

high medium backend Tier 1 ⚙ backend specialist
Integrate FCM push notification on badge award
epic-achievement-badges-evaluation-engine-task-013

Wire the edge function to dispatch an FCM push notification via the existing push-notification infrastructure immediatel...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

high medium integration Tier 5 🔗 integration specialist
Write Deno unit tests for all criteria evaluators
epic-achievement-badges-evaluation-engine-task-008

Write comprehensive Deno unit tests for ThresholdCriteriaEvaluator, StreakCriteriaEvaluator, and TrainingCompletionCrite...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

high medium testing Tier 4 🧪 testing specialist
Write integration tests against seeded test database
epic-achievement-badges-evaluation-engine-task-014

Write end-to-end integration tests for the full badge evaluation pipeline using a seeded Supabase test database. Tests m...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

high high testing Tier 6 🧪 testing specialist
Define badge criteria evaluator interfaces
epic-achievement-badges-evaluation-engine-task-001

Define TypeScript interfaces and abstract base classes for the three criteria evaluator types: threshold-based, streak-b...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical low backend Tier 0 ⚙ backend specialist
Implement threshold-based criteria evaluator
epic-achievement-badges-evaluation-engine-task-002

Implement the ThresholdCriteriaEvaluator class in Deno/TypeScript that checks whether a peer mentor's aggregated activit...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical medium backend Tier 1 ⚙ backend specialist
Build badge definition loader with org scoping
epic-achievement-badges-evaluation-engine-task-005

Implement the badge definition loader within the evaluation service that fetches all enabled badge definitions for a giv...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical medium backend Tier 1 ⚙ backend specialist
Implement peer mentor stats aggregation for evaluation
epic-achievement-badges-evaluation-engine-task-006

Implement the stats aggregation layer within the badge evaluation service that computes a peer mentor's current totals (...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical high backend Tier 2 ⚙ backend specialist
Build main evaluation orchestrator function
epic-achievement-badges-evaluation-engine-task-007

Implement the main BadgeEvaluationService orchestrator that loads enabled badge definitions for the organisation, invoke...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical high backend Tier 3 ⚙ backend specialist
Scaffold badge-criteria edge function entrypoint
epic-achievement-badges-evaluation-engine-task-010

Create the Supabase Edge Function scaffold for badge-criteria-edge-function in Deno. Implement the HTTP handler that val...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical medium backend Tier 1 ⚙ backend specialist
Configure Supabase activity-save database webhook
epic-achievement-badges-evaluation-engine-task-009

Configure the Supabase database webhook that fires on INSERT and UPDATE events to the activities table. Register the web...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical low infrastructure Tier 0 🏗 infrastructure specialist
Wire evaluation service into edge function pipeline
epic-achievement-badges-evaluation-engine-task-011

Integrate the BadgeEvaluationService into the edge function handler so that, on each invocation, it calls the evaluation...

Badge Evaluation Engine & Edge Function Integration · Achievement Badges & Status Recognition

critical high integration Tier 4 ⚙ backend specialist
Document data-foundation layer and Bufdir alignment contract
epic-activity-statistics-dashboard-data-foundation-task-014

Write developer documentation covering: (1) the SQL view schema with column descriptions and Bufdir field mappings; (2) ...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

medium low documentation Tier 6 📝 documentor
Write unit tests for TimeWindowService and ChapterScopeResolver
epic-activity-statistics-dashboard-data-foundation-task-013

Write Flutter unit tests for TimeWindowService (all five TimeWindow values including leap year and DST boundary dates, c...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

medium low testing Tier 2 🧪 testing specialist
Add offline caching layer to Stats Repository
epic-activity-statistics-dashboard-data-foundation-task-009

Extend the Stats Repository with a local Hive or shared_preferences cache so that the last-fetched StatsSnapshot and Pee...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

high medium backend Tier 5 ⚙ backend specialist
Implement Bufdir alignment validation checks
epic-activity-statistics-dashboard-data-foundation-task-012

Build the Bufdir Alignment Validator service that compares aggregated totals from the stats views against an independent...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

high medium backend Tier 5 ⚙ backend specialist
Create database trigger to refresh materialized views
epic-activity-statistics-dashboard-data-foundation-task-007

Implement a PostgreSQL trigger function that calls REFRESH MATERIALIZED VIEW CONCURRENTLY on mv_peer_mentor_stats and mv...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

high medium database Tier 3 🗄 database specialist
Write unit tests for StatsModels serialisation
epic-activity-statistics-dashboard-data-foundation-task-010

Write Flutter unit tests covering: fromJson/toJson round-trip for StatsSnapshot, PeerMentorStatRow, and ChartDataPoint; ...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

high low testing Tier 1 🧪 testing specialist
Write integration tests for Stats Repository against Supabase
epic-activity-statistics-dashboard-data-foundation-task-011

Write integration tests that run against a Supabase local dev instance (supabase start) and verify: fetchSnapshot return...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

high medium testing Tier 5 🧪 testing specialist
Define StatsSnapshot and core Dart data models
epic-activity-statistics-dashboard-data-foundation-task-001

Create the typed Dart data models required by the statistics dashboard: StatsSnapshot (aggregate totals for a time windo...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

critical low backend Tier 0 ⚙ backend specialist
Create TimeWindow enum and DateTimeRange converter
epic-activity-statistics-dashboard-data-foundation-task-002

Implement the TimeWindow Service that converts each TimeWindow enum value (week, month, quarter, year, custom) into a co...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

critical low backend Tier 1 ⚙ backend specialist
Implement Chapter Scope Resolver with chapter ID caching
epic-activity-statistics-dashboard-data-foundation-task-003

Build the Chapter Scope Resolver that loads and caches a coordinator's authorized chapter IDs from Supabase. The resolve...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

critical medium backend Tier 1 ⚙ backend specialist
Implement Stats Repository with date-range and role filters
epic-activity-statistics-dashboard-data-foundation-task-008

Build the Stats Repository Dart class that queries the Supabase materialized views. It must expose: fetchSnapshot(TimeWi...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

critical medium backend Tier 4 ⚙ backend specialist
Author Supabase SQL views for activity aggregation
epic-activity-statistics-dashboard-data-foundation-task-004

Write the Supabase SQL views that pre-aggregate activity data: (1) peer_mentor_stats_view — activity count, total hours,...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

critical high database Tier 1 🗄 database specialist
Create materialized views with date-range partitioning
epic-activity-statistics-dashboard-data-foundation-task-005

Convert the SQL views from task-004 into materialized views (mv_peer_mentor_stats, mv_chapter_stats) with REFRESH CONCUR...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

critical high database Tier 2 🗄 database specialist
Add RLS policies for coordinator chapter scoping
epic-activity-statistics-dashboard-data-foundation-task-006

Write and apply Row-Level Security policies on mv_peer_mentor_stats and mv_chapter_stats so that a coordinator can only ...

Activity Statistics Dashboard — Data Foundation · Activity Statistics Dashboard

critical high database Tier 3 🗄 database specialist
Write tests for Bufdir Alignment Validator and document usage
epic-activity-statistics-dashboard-state-and-realtime-task-010

Write unit tests asserting that BufdirAlignmentValidator returns a passing AlignmentReport when both query paths return ...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

medium low testing Tier 3 🧪 testing specialist
Wire chapter scope into StatsAsyncNotifier provider
epic-activity-statistics-dashboard-state-and-realtime-task-003

Integrate the Chapter Scope Resolver into the StatsAsyncNotifier provider so that coordinators see chapter-scoped aggreg...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

high medium backend Tier 2 ⚙ backend specialist
Add debounce logic to Stats Cache Invalidator
epic-activity-statistics-dashboard-state-and-realtime-task-005

Implement a debounce mechanism inside the Stats Cache Invalidator so that rapid successive INSERT events on the activiti...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

high low backend Tier 3 ⚙ backend specialist
Implement Bufdir Alignment Validator service scaffold
epic-activity-statistics-dashboard-state-and-realtime-task-007

Create the BufdirAlignmentValidator service class that provides a diagnostic API for comparing dashboard aggregation res...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

high medium backend Tier 1 ⚙ backend specialist
Add on-demand validation trigger and diff reporting to Bufdir Validator
epic-activity-statistics-dashboard-state-and-realtime-task-008

Extend the BufdirAlignmentValidator with an on-demand trigger method that can be called from a hidden developer settings...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

high medium backend Tier 2 ⚙ backend specialist
Write unit and integration tests for StatsAsyncNotifier and Cache Invalidator
epic-activity-statistics-dashboard-state-and-realtime-task-009

Write unit tests covering: StatsAsyncNotifier initial fetch returns AsyncData with correct snapshot; time window change ...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

high medium testing Tier 5 🧪 testing specialist
Define StatsSnapshot data model and AsyncValue state shape
epic-activity-statistics-dashboard-state-and-realtime-task-001

Define the StatsSnapshot immutable data class that the Stats Async Notifier will expose via AsyncValue<StatsSnapshot>. T...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

critical low backend Tier 0 ⚙ backend specialist
Implement StatsAsyncNotifier with initial fetch and time window re-fetch
epic-activity-statistics-dashboard-state-and-realtime-task-002

Implement the Riverpod AsyncNotifier that exposes AsyncValue<StatsSnapshot>. The notifier must trigger an initial fetch ...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

critical medium backend Tier 1 ⚙ backend specialist
Implement Supabase realtime subscription for activities table
epic-activity-statistics-dashboard-state-and-realtime-task-004

Set up a Supabase realtime channel subscription on the activities table within the Stats Cache Invalidator component. Su...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

critical medium infrastructure Tier 2 🏗 infrastructure specialist
Connect Stats Cache Invalidator to StatsAsyncNotifier via ref.invalidate
epic-activity-statistics-dashboard-state-and-realtime-task-006

Wire the Stats Cache Invalidator to call ref.invalidate(statsNotifierProvider) after the debounce resolves. Ensure the i...

Activity Statistics Dashboard — State Management & Realtime Invalidation · Activity Statistics Dashboard

critical medium integration Tier 4 🔗 integration specialist
Define ActivityChart data models and granularity enum
epic-activity-statistics-dashboard-user-interface-task-004

Create Dart freezed data models for ChartDataPoint, ChartSeries, and the GranularityMode enum (day, week, month). Define...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high low frontend Tier 1 🎨 frontend specialist
Implement ActivityChartWidget with fl_chart bar/line rendering
epic-activity-statistics-dashboard-user-interface-task-005

Build the ActivityChartWidget using the fl_chart package. Implement bar chart for day/week granularity and line chart fo...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high medium frontend Tier 2 🎨 frontend specialist
Add tap tooltips and screen reader semantics to chart
epic-activity-statistics-dashboard-user-interface-task-006

Extend ActivityChartWidget with tap-triggered tooltip overlays showing exact values for the tapped bar or data point. Wr...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high medium frontend Tier 3 🎨 frontend specialist
Build PeerMentorStatsListRow widget
epic-activity-statistics-dashboard-user-interface-task-007

Implement a single PeerMentorStatsListRow widget displaying a peer mentor's name, multi-chapter label (e.g., 'Chapter A,...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high low frontend Tier 1 🎨 frontend specialist
Implement PeerMentorStatsList scrollable list with drill-down
epic-activity-statistics-dashboard-user-interface-task-008

Build the PeerMentorStatsList widget as a scrollable ListView.builder that renders PeerMentorStatsListRow items from the...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high medium frontend Tier 2 🎨 frontend specialist
Implement drill-down navigation from coordinator to peer mentor record
epic-activity-statistics-dashboard-user-interface-task-013

Wire the PeerMentorStatsList onTap handler in CoordinatorStatsScreen to navigate to the individual peer mentor's stats v...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high medium frontend Tier 6 🎨 frontend specialist
Write widget tests for TimeWindowSelector and StatsSummaryCards
epic-activity-statistics-dashboard-user-interface-task-016

Write Flutter widget tests for TimeWindowSelector covering: correct segment rendering, callback emission on tap, Semanti...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high low testing Tier 2 🧪 testing specialist
Write widget tests for ActivityChartWidget and PeerMentorStatsList
epic-activity-statistics-dashboard-user-interface-task-017

Write Flutter widget tests for ActivityChartWidget covering: correct bar/line chart mode switching by granularity, toolt...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high medium testing Tier 4 🧪 testing specialist
Integration test for full coordinator and peer mentor stats flows
epic-activity-statistics-dashboard-user-interface-task-018

Write Flutter integration tests covering the full end-to-end stats dashboard flow: peer mentor logs in, navigates to sta...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

high high testing Tier 9 🧪 testing specialist
Define TimeWindow enum and value types
epic-activity-statistics-dashboard-user-interface-task-001

Create the TimeWindow enum (week, month, quarter, year, custom) and associated value types used across all stats UI comp...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical low frontend Tier 0 🎨 frontend specialist
Build TimeWindowSelector segmented control widget
epic-activity-statistics-dashboard-user-interface-task-002

Implement the TimeWindowSelector as a Flutter segmented control widget that emits TimeWindow values via a callback. Each...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical low frontend Tier 1 🎨 frontend specialist
Implement StatsSummaryCards KPI row widget
epic-activity-statistics-dashboard-user-interface-task-003

Build the StatsSummaryCards row consisting of three reactive KPI cards: session count, total hours, and reimbursement to...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical low frontend Tier 1 🎨 frontend specialist
Assemble PeerMentorStatsScreen layout and providers
epic-activity-statistics-dashboard-user-interface-task-009

Compose the PeerMentorStatsScreen using TimeWindowSelector, StatsSummaryCards, and ActivityChartWidget. Wire the screen ...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical medium frontend Tier 4 🎨 frontend specialist
Apply role-based data scoping to PeerMentorStatsScreen
epic-activity-statistics-dashboard-user-interface-task-010

Ensure the PeerMentorStatsScreen enforces strict role-based data scoping by reading only the authenticated peer mentor's...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical medium frontend Tier 5 ⚙ backend specialist
Assemble CoordinatorStatsScreen skeleton and chapter scope wiring
epic-activity-statistics-dashboard-user-interface-task-011

Create the CoordinatorStatsScreen scaffold with a page header, chapter scope label (showing the active chapter name), an...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical medium frontend Tier 2 🎨 frontend specialist
Integrate chart and peer mentor list into CoordinatorStatsScreen
epic-activity-statistics-dashboard-user-interface-task-012

Add ActivityChartWidget (chapter-aggregated data) and PeerMentorStatsList to the CoordinatorStatsScreen body. Ensure bot...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical high frontend Tier 3 ⚡ fullstack developer
Apply strict role-based data scoping to CoordinatorStatsScreen
epic-activity-statistics-dashboard-user-interface-task-014

Enforce role-based data scoping at the CoordinatorStatsScreen level: the coordinator provider must only fetch data for p...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical medium frontend Tier 7 🎨 frontend specialist
WCAG 2.2 AA audit and remediation for all stats UI widgets
epic-activity-statistics-dashboard-user-interface-task-015

Run a comprehensive WCAG 2.2 AA audit across all stats dashboard UI components: TimeWindowSelector, StatsSummaryCards, A...

Activity Statistics Dashboard — User Interface · Activity Statistics Dashboard

critical medium testing Tier 8 🧪 testing specialist
Extend OrganizationLabelsProvider for activity types
epic-activity-type-configuration-foundation-task-008

Extend the existing OrganizationLabelsProvider (075-organization-labels-provider) to support activity type display name ...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

high low backend Tier 3 ⚙ backend specialist
Implement cache invalidation on write operations
epic-activity-type-configuration-foundation-task-010

Ensure the ActivityTypeCacheProvider is invalidated and refreshed whenever a create, update, or delete operation complet...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

high medium backend Tier 5 ⚙ backend specialist
Unit test ActivityTypeRepository CRUD and errors
epic-activity-type-configuration-foundation-task-012

Write unit tests for the ActivityTypeRepository covering: successful fetch scoped to org_id, typed error mapping for Sup...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

high medium testing Tier 4 🧪 testing specialist
Unit test ActivityTypeMetadataResolver accessors
epic-activity-type-configuration-foundation-task-013

Write unit tests for every typed accessor on the ActivityTypeMetadataResolver. Cover default values when metadata fields...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

high low testing Tier 4 🧪 testing specialist
Integration test full data layer end-to-end
epic-activity-type-configuration-foundation-task-014

Write integration tests that exercise the complete stack from Supabase client through repository, cache provider, and me...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

high high testing Tier 6 🧪 testing specialist
Define ActivityType domain model and error types
epic-activity-type-configuration-foundation-task-004

Create the immutable ActivityType Dart class with all fields matching the database schema. Define typed domain errors (A...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical low backend Tier 1 ⚙ backend specialist
Implement ActivityTypeRepository CRUD operations
epic-activity-type-configuration-foundation-task-005

Build the full ActivityTypeRepository with fetchAll(orgId), fetchById(id), create(activityType), update(activityType), a...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical medium backend Tier 3 ⚙ backend specialist
Define metadata JSONB schema and field contract
epic-activity-type-configuration-foundation-task-006

Document and enforce the JSONB metadata schema for activity types, covering fields such as requires_expense, requires_re...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical medium backend Tier 2 ⚙ backend specialist
Implement ActivityTypeMetadataResolver accessors
epic-activity-type-configuration-foundation-task-007

Build the ActivityTypeMetadataResolver service that wraps an ActivityType and exposes strongly-typed boolean and value a...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical medium backend Tier 3 ⚙ backend specialist
Build Riverpod ActivityTypeCacheProvider
epic-activity-type-configuration-foundation-task-009

Implement the in-memory Riverpod provider (073-activity-type-cache-provider) that holds the full list of active activity...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical medium backend Tier 4 ⚙ backend specialist
Create activity_types Supabase migration
epic-activity-type-configuration-foundation-task-001

Write and apply a Supabase database migration that creates the activity_types table with all required columns: id, org_i...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical medium database Tier 0 🗄 database specialist
Configure RLS policies for activity_types
epic-activity-type-configuration-foundation-task-002

Define and apply Row Level Security policies on the activity_types table scoped by org_id. Ensure coordinators and peer ...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical medium database Tier 1 🗄 database specialist
Implement Supabase client singleton
epic-activity-type-configuration-foundation-task-003

Set up the Supabase client singleton following the project's existing pattern in 074-supabase-client. Ensure it is initi...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical low infrastructure Tier 2 ⚙ backend specialist
Wire metadata resolver into cache provider
epic-activity-type-configuration-foundation-task-011

Integrate the ActivityTypeMetadataResolver with the ActivityTypeCacheProvider so that consumers receive pre-resolved met...

Activity Type Configuration — Data & Infrastructure Foundation · Activity Type Configuration

critical medium integration Tier 5 🔗 integration specialist
Apply WCAG 2.2 AA accessibility to selection screen
epic-activity-type-configuration-business-logic-task-007

Enhance ActivityTypeSelectionScreen to meet WCAG 2.2 AA requirements. Set minimum 44x44dp touch targets on all list item...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

high medium frontend Tier 6 🎨 frontend specialist
Resolve org-specific activity type labels via provider
epic-activity-type-configuration-business-logic-task-005

Integrate the OrganizationLabelsProvider into ActivityTypeService so that each ActivityType returned to the UI has its d...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

high low integration Tier 4 🔗 integration specialist
Write unit tests for ActivityTypeService validation logic
epic-activity-type-configuration-business-logic-task-008

Write unit tests covering: org-scoped fetching returns only types for the authenticated org, triggersReimbursementWorkfl...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

high medium testing Tier 5 🧪 testing specialist
Write widget tests for ActivityTypeSelectionScreen
epic-activity-type-configuration-business-logic-task-009

Write Flutter widget tests for ActivityTypeSelectionScreen covering: list renders all active types with correct resolved...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

high medium testing Tier 7 🧪 testing specialist
Integration test: selection screen end-to-end with cache
epic-activity-type-configuration-business-logic-task-010

Write an integration test that boots the Riverpod provider graph with a real ActivityTypeCacheProvider backed by a mocke...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

high medium testing Tier 8 🧪 testing specialist
Define ActivityType domain model and interfaces
epic-activity-type-configuration-business-logic-task-001

Create the typed ActivityType domain object with all metadata fields: id, orgId, label key, isActive, triggersReimbursem...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

critical low backend Tier 0 ⚙ backend specialist
Implement ActivityTypeCacheProvider with TTL and invalidation
epic-activity-type-configuration-business-logic-task-003

Build an in-memory cache layer wrapping the repository. Cache active activity types per orgId with a configurable TTL (d...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

critical medium backend Tier 2 ⚙ backend specialist
Implement ActivityTypeService with metadata validation
epic-activity-type-configuration-business-logic-task-004

Build ActivityTypeService enforcing org-scoped business rules. Implement getActiveTypes(orgId), createActivityType, upda...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

critical medium backend Tier 3 ⚙ backend specialist
Implement ActivityTypeRepository with org scoping
epic-activity-type-configuration-business-logic-task-002

Build the ActivityTypeRepository class that queries the Supabase activity_types table using the authenticated org contex...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

critical medium database Tier 1 🗄 database specialist
Build ActivityTypeSelectionScreen UI with list rendering
epic-activity-type-configuration-business-logic-task-006

Implement the ActivityTypeSelectionScreen Flutter widget that reads active activity types from the ActivityTypeCacheProv...

Activity Type Configuration — Service Layer & Peer Mentor Selection · Activity Type Configuration

critical medium frontend Tier 5 🎨 frontend specialist
Bufdir category constants and dropdown data
epic-activity-type-configuration-admin-interface-task-003

Define the complete controlled list of Bufdir category values as a Dart enum and a corresponding display-label registry....

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

high low backend Tier 2 ⚙ backend specialist
Form fields: name, label override, description, duration
epic-activity-type-configuration-admin-interface-task-005

Implement the four primary text and numeric input fields inside ActivityTypeFormScreen: (1) display_name — required text...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

high medium frontend Tier 4 🎨 frontend specialist
Metadata flags toggle section in form
epic-activity-type-configuration-admin-interface-task-006

Implement the three boolean metadata flag controls inside ActivityTypeFormScreen as clearly labelled toggle switches wit...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

high low frontend Tier 5 🎨 frontend specialist
Bufdir category dropdown selector in form
epic-activity-type-configuration-admin-interface-task-007

Implement the Bufdir category selector inside ActivityTypeFormScreen as a searchable dropdown using the controlled list ...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

high low frontend Tier 5 🎨 frontend specialist
Activity type list item with status and metadata badges
epic-activity-type-configuration-admin-interface-task-010

Implement the ActivityTypeListItem widget used inside ActivityTypeAdminScreen. Display: display name as card title, org_...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

high low frontend Tier 8 🎨 frontend specialist
Archive action with confirmation dialog and optimistic update
epic-activity-type-configuration-admin-interface-task-011

Implement the archive action on ActivityTypeAdminScreen accessible via a long-press context menu and a three-dot overflo...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

high medium frontend Tier 9 🎨 frontend specialist
Integration tests for full activity type CRUD flow
epic-activity-type-configuration-admin-interface-task-012

Write flutter_test integration tests covering the full coordinator CRUD workflow: (1) navigate to admin screen, verify e...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

high medium testing Tier 10 🧪 testing specialist
ActivityType Dart model and type definitions
epic-activity-type-configuration-admin-interface-task-002

Define the ActivityType Dart class with all fields matching the database schema: id, orgId, displayName, orgLabelOverrid...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

critical low backend Tier 1 ⚙ backend specialist
Activity types database schema and migrations
epic-activity-type-configuration-admin-interface-task-001

Create the Supabase database schema for the activity_types table including columns for display_name, org_label_override,...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

critical medium database Tier 0 🗄 database specialist
ActivityTypeFormScreen scaffold and routing
epic-activity-type-configuration-admin-interface-task-004

Build the ActivityTypeFormScreen StatefulWidget with GoRouter integration supporting both creation mode (no argument) an...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

critical medium frontend Tier 3 🎨 frontend specialist
Form validation, Bloc, and create/edit submission
epic-activity-type-configuration-admin-interface-task-008

Implement the ActivityTypeFormBloc (or Cubit) managing form state, validation, and async submission. Validate: display_n...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

critical medium frontend Tier 6 🎨 frontend specialist
ActivityTypeAdminScreen scaffold, org context, and list load
epic-activity-type-configuration-admin-interface-task-009

Build the ActivityTypeAdminScreen StatefulWidget that fetches and displays all activity types for the currently selected...

Activity Type Configuration — Admin Portal Interface · Activity Type Configuration

critical medium frontend Tier 7 🎨 frontend specialist
Implement KPI aggregate query methods in Admin Repository
epic-admin-portal-foundation-task-008

Extend AdminRepository with KPI-focused aggregate methods: getActiveUserCount(), getTotalActivitiesCount(), getPendingRe...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

high medium backend Tier 5 ⚙ backend specialist
Validate HLF certification-gated RLS visibility
epic-admin-portal-foundation-task-013

Implement and test the HLF-specific RLS policy extension that suppresses peer mentor visibility when certification has e...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

high medium database Tier 4 🗄 database specialist
Document security contract and RLS policy coverage
epic-admin-portal-foundation-task-014

Write the security contract document that specifies which tables have RLS coverage, what claims each role injects, the r...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

high medium documentation Tier 6 📝 documentor
Build Admin KPI Stat Widget component
epic-admin-portal-foundation-task-009

Implement the AdminStatWidget reusable Flutter widget that accepts a label, value, trend indicator, and accent colour. T...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

high low frontend Tier 6 🎨 frontend specialist
Define domain models for admin data layer
epic-admin-portal-foundation-task-001

Create typed Dart domain models for all admin-scoped entities: OrgAdminScope, AdminUser, AdminActivity, AdminReimburseme...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical medium backend Tier 0 ⚙ backend specialist
Build Admin RLS Guard middleware
epic-admin-portal-foundation-task-006

Implement the AdminRlsGuard service that intercepts every Supabase client session for admin-role users and injects org-s...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high backend Tier 3 ⚙ backend specialist
Implement core Admin Repository query methods
epic-admin-portal-foundation-task-007

Build AdminRepository with typed, RLS-enforced query methods for the primary admin use cases: getUsersInScope(), getActi...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high backend Tier 4 ⚙ backend specialist
Audit existing RLS policy gaps across all tables
epic-admin-portal-foundation-task-002

Systematically audit Supabase tables (users, activities, reimbursements, organisations, user_roles) for missing or incom...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high database Tier 0 🗄 database specialist
Write RLS policies for org_admin role
epic-admin-portal-foundation-task-003

Implement Supabase row-level security policies scoped to the org_admin role across users, activities, reimbursements, an...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high database Tier 1 🗄 database specialist
Write RLS policies for super_admin role
epic-admin-portal-foundation-task-004

Implement Supabase row-level security policies for the super_admin role granting cross-organisation read access and rest...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high database Tier 1 🗄 database specialist
Implement recursive CTE for org subtree resolution
epic-admin-portal-foundation-task-005

Write a PostgreSQL recursive CTE function get_org_subtree(root_org_id UUID) that returns all child organisation IDs with...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high database Tier 2 🗄 database specialist
Write RLS policy integration tests
epic-admin-portal-foundation-task-010

Create a comprehensive test suite that exercises all RLS policies defined in tasks 003 and 004. Tests must verify: org_a...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high testing Tier 3 🧪 testing specialist
Write Admin RLS Guard unit tests
epic-admin-portal-foundation-task-011

Implement unit tests for AdminRlsGuard covering: successful org_id claim injection, missing session handling, claim inje...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical medium testing Tier 4 🧪 testing specialist
Write Admin Repository integration tests
epic-admin-portal-foundation-task-012

Implement integration tests for AdminRepository against a local Supabase instance seeded with multi-org test data. Tests...

Admin Portal Foundation: Data Layer, RLS Policies, and Security Infrastructure · Organisation Admin Portal

critical high testing Tier 5 🧪 testing specialist
Org Hierarchy Service: Cache Invalidation and Search
epic-admin-portal-core-services-task-003

Add cache invalidation on hierarchy changes, short-TTL refresh policy, and node search by name/code within the cached tr...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium backend Tier 2 ⚙ backend specialist
Admin Statistics Service: Month-over-Month Trend Computation
epic-admin-portal-core-services-task-005

Add month-over-month trend computation to AdminStatisticsService for each KPI. Calculate delta values and percentage cha...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium backend Tier 3 ⚙ backend specialist
User Management Service: Org-Scoped Access Validation
epic-admin-portal-core-services-task-008

Extend UserManagementService with org-scoped write-access validation. Admins may only manage users within their hierarch...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium backend Tier 4 ⚙ backend specialist
Admin Notification Dispatcher: Template Registry
epic-admin-portal-core-services-task-011

Implement AdminNotificationDispatcher's admin-specific template registry. Define templates for: user status changes, cer...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium backend Tier 2 ⚙ backend specialist
Admin Notification Dispatcher: Org-Scoped Dispatch Logic
epic-admin-portal-core-services-task-012

Implement org-scoped targeting in AdminNotificationDispatcher. Given a notification type and org node ID, resolve all af...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium backend Tier 3 ⚙ backend specialist
Org Hierarchy Navigator: Search and Breadcrumb Display
epic-admin-portal-core-services-task-014

Extend OrgHierarchyNavigator with an inline search field that filters visible nodes in real time using OrgHierarchyServi...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium frontend Tier 4 🎨 frontend specialist
Org Hierarchy Navigator: Accessibility and Keyboard Navigation
epic-admin-portal-core-services-task-015

Ensure OrgHierarchyNavigator fully complies with WCAG 2.2 AA. Add semantic labels to every tree node, role='treeitem' se...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium frontend Tier 5 🎨 frontend specialist
Unit Tests: Org Hierarchy Service
epic-admin-portal-core-services-task-016

Write unit tests for OrgHierarchyService covering: tree construction from flat rows, subtree ID resolution for nested an...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium testing Tier 3 🧪 testing specialist
Unit Tests: Admin Statistics Service
epic-admin-portal-core-services-task-017

Write unit tests for AdminStatisticsService covering: all five KPI computations with mocked repository data, subtree sco...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium testing Tier 4 🧪 testing specialist
Unit Tests: User Management Service
epic-admin-portal-core-services-task-018

Write unit tests for UserManagementService covering: CRUD happy paths, invalid role transition rejection, out-of-scope w...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium testing Tier 5 🧪 testing specialist
Integration Tests: Export Service Output Validation
epic-admin-portal-core-services-task-019

Write integration tests for AdminExportService that validate CSV and Excel output against Bufdir's required column struc...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium testing Tier 4 🧪 testing specialist
Widget Tests: Org Hierarchy Navigator
epic-admin-portal-core-services-task-020

Write Flutter widget tests for OrgHierarchyNavigator covering: initial render with mocked tree data, expand/collapse int...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

high medium testing Tier 6 🧪 testing specialist
Org Hierarchy Service: Core Tree Builder
epic-admin-portal-core-services-task-001

Implement the core organisation hierarchy tree builder in OrgHierarchyService. Build recursive tree construction from fl...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical high backend Tier 0 ⚙ backend specialist
Org Hierarchy Service: Subtree and RLS Scope Resolver
epic-admin-portal-core-services-task-002

Extend OrgHierarchyService with subtree resolution for RLS scope expansion. Given a node ID, return all descendant node ...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical high backend Tier 1 ⚙ backend specialist
Admin Statistics Service: KPI Aggregation Core
epic-admin-portal-core-services-task-004

Implement AdminStatisticsService with core KPI aggregation: active peer mentors, monthly activities, pending reimburseme...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical high backend Tier 2 ⚙ backend specialist
User Management Service: CRUD and Role Transition Logic
epic-admin-portal-core-services-task-006

Implement UserManagementService with full CRUD operations for admin users. Enforce business rules for role transitions (...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical high backend Tier 2 ⚙ backend specialist
User Management Service: Pause, Deactivation, and Certification Side-Effects
epic-admin-portal-core-services-task-007

Add downstream side-effect handling to UserManagementService: automatically remove paused mentors from chapter public li...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical high backend Tier 3 ⚙ backend specialist
Admin Export Service: CSV Generator with Bufdir Schema
epic-admin-portal-core-services-task-009

Implement AdminExportService CSV generation path. Query activities scoped to the selected org subtree, map columns to Bu...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical medium backend Tier 2 ⚙ backend specialist
Admin Export Service: Excel Generator and File Delivery
epic-admin-portal-core-services-task-010

Add Excel (.xlsx) export path to AdminExportService alongside the CSV path. Use a Dart Excel library to generate workboo...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical medium backend Tier 3 ⚙ backend specialist
Org Hierarchy Navigator: Tree Widget and Expansion State
epic-admin-portal-core-services-task-013

Build the OrgHierarchyNavigator Flutter widget with an expandable/collapsible tree view. Each node renders name and type...

Admin Portal Core Services: Hierarchy, Statistics, User Management, and Exports · Organisation Admin Portal

critical high frontend Tier 3 🎨 frontend specialist
Implement KPI Stat Widget for Admin Dashboard
epic-admin-portal-dashboard-ui-task-003

Build the AdminKpiStatWidget Flutter widget that displays a single KPI tile (label, value, trend indicator, icon). The w...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high low frontend Tier 0 🎨 frontend specialist
Build Role Assignment Panel Modal
epic-admin-portal-dashboard-ui-task-006

Implement the RoleAssignmentPanel as a modal bottom sheet or dialog. The panel must display the target user's current ro...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 1 🎨 frontend specialist
Implement Role Assignment BLoC Integration
epic-admin-portal-dashboard-ui-task-007

Integrate the RoleAssignmentPanel with the AdminPortalBloc by adding RoleAssignmentRequested and RoleAssignmentConfirmed...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 3 🎨 frontend specialist
Build Activity Log Viewer with Filters
epic-admin-portal-dashboard-ui-task-008

Implement the ActivityLogViewer widget as a scrollable, filterable list of activities across all org chapters within the...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 3 🎨 frontend specialist
Implement Activity Log Pagination and Filter State in BLoC
epic-admin-portal-dashboard-ui-task-009

Add activity log pagination and filter state management to the AdminPortalBloc. Implement LoadActivityLog, ActivityLogFi...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 4 🎨 frontend specialist
Build Admin Export Panel UI
epic-admin-portal-dashboard-ui-task-010

Implement the AdminExportPanel widget that allows admins to configure and trigger CSV/Excel exports. The panel must incl...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 2 🎨 frontend specialist
Implement Export Job Progress Tracking in BLoC
epic-admin-portal-dashboard-ui-task-011

Add export job lifecycle state management to the AdminPortalBloc. Implement ExportTriggered, ExportProgressUpdated, Expo...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 3 🎨 frontend specialist
Implement User and Activity List Filter State in BLoC
epic-admin-portal-dashboard-ui-task-014

Add pagination and filter state management for both the user list and activity list to the AdminPortalBloc. Define filte...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 5 🎨 frontend specialist
Implement Flutter Web Responsive Layout for Admin Portal
epic-admin-portal-dashboard-ui-task-016

Adapt the AdminDashboardScreen and all governance panels for Flutter Web wide-screen rendering. Implement a sidebar pane...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium frontend Tier 5 🎨 frontend specialist
Write Widget and BLoC Unit Tests for Admin Portal
epic-admin-portal-dashboard-ui-task-017

Write unit tests for the AdminPortalBloc covering all event/state transitions: dashboard stat loading, scope propagation...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high high testing Tier 6 🧪 testing specialist
Accessibility Audit and WCAG 2.2 AA Remediation
epic-admin-portal-dashboard-ui-task-018

Run flutter_accessibility_lint and manual screen-reader testing (TalkBack/VoiceOver) across all admin portal screens and...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

high medium testing Tier 7 🎨 frontend specialist
Implement Admin Portal BLoC State Management Foundation
epic-admin-portal-dashboard-ui-task-001

Create the AdminPortalBloc using Riverpod and flutter_bloc, defining all state classes (AdminPortalState, AdminPortalEve...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

critical high frontend Tier 0 🎨 frontend specialist
Implement Org Hierarchy Scope Selection in BLoC
epic-admin-portal-dashboard-ui-task-002

Add org hierarchy scope selection logic to the AdminPortalBloc so that when an admin selects an organisation unit (org, ...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

critical high frontend Tier 1 🎨 frontend specialist
Build Admin Dashboard Screen with KPI Grid
epic-admin-portal-dashboard-ui-task-004

Implement the AdminDashboardScreen that renders the KPI stat widget grid using AdminKpiStatWidget tiles. The screen must...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

critical high frontend Tier 2 🎨 frontend specialist
Implement Dashboard Stat Loading in BLoC
epic-admin-portal-dashboard-ui-task-005

Wire the AdminPortalBloc to the AdminStatisticsService for loading KPI dashboard statistics. Implement event handlers fo...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

critical medium frontend Tier 2 🎨 frontend specialist
Build Certification Status Panel
epic-admin-portal-dashboard-ui-task-012

Implement the CertificationStatusPanel widget that groups peer mentors with expiring or expired certifications by chapte...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

critical medium frontend Tier 3 🎨 frontend specialist
Implement Certification Reminder Dispatch in BLoC
epic-admin-portal-dashboard-ui-task-013

Add certification reminder state management to the AdminPortalBloc. Implement SendCertificationReminder event that invok...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

critical medium frontend Tier 4 🎨 frontend specialist
Integrate All Admin Panels into Dashboard Screen
epic-admin-portal-dashboard-ui-task-015

Compose the complete AdminDashboardScreen by integrating the KPI grid, ActivityLogViewer, CertificationStatusPanel, Admi...

Admin Portal Dashboard UI: State Management, Dashboard Screen, and Governance Panels · Organisation Admin Portal

critical high frontend Tier 4 ⚡ fullstack developer
Navigation to individual user profile
epic-admin-portal-user-management-task-011

Implement navigation from the user list row to the individual user profile detail screen. Pass the user ID via route arg...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

medium low frontend Tier 5 🎨 frontend specialist
Invitation backend service and email dispatch
epic-admin-portal-user-management-task-010

Implement backend logic for sending user invitations by email with role pre-assignment. Create the invitation record in ...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high medium backend Tier 3 ⚙ backend specialist
Composable filter bar UI
epic-admin-portal-user-management-task-006

Implement the filter bar UI allowing admins to compose filters by role, chapter, status, and certification state. Filter...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high medium frontend Tier 5 🎨 frontend specialist
Inline role assignment panel integration
epic-admin-portal-user-management-task-007

Integrate the Role Assignment Panel into the User Account Management Screen so admins can assign or change a user's role...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high medium frontend Tier 5 🎨 frontend specialist
Account activation/deactivation toggle
epic-admin-portal-user-management-task-008

Implement the account activation and deactivation toggle on each user row. Toggle must call UserManagementService to upd...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high medium frontend Tier 5 🎨 frontend specialist
Invite new user by email with role pre-selection
epic-admin-portal-user-management-task-009

Build the invite new user flow: an email input field plus role selector (pre-populated with available roles in the admin...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high medium frontend Tier 4 🎨 frontend specialist
Performance optimisation for large user sets
epic-admin-portal-user-management-task-012

Profile and optimise the screen for organisations with hundreds to thousands of users. Implement list virtualisation, de...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high high frontend Tier 6 🎨 frontend specialist
Accessibility audit and WCAG 2.2 AA compliance
epic-admin-portal-user-management-task-013

Audit the entire User Account Management Screen against WCAG 2.2 AA requirements. Verify screen reader semantics for use...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high medium testing Tier 6 🧪 testing specialist
Integration and widget tests for user management screen
epic-admin-portal-user-management-task-014

Write integration tests and widget tests covering: paginated list rendering, filter combination correctness against Supa...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

high high testing Tier 7 🧪 testing specialist
Composable filter query builder
epic-admin-portal-user-management-task-003

Build the composable filter query builder that supports simultaneous filtering by role, chapter, account status, and cer...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

critical high backend Tier 2 ⚙ backend specialist
User list data layer and Supabase RLS queries
epic-admin-portal-user-management-task-001

Implement the data access layer for the User Account Management Screen, including Supabase queries that respect RLS-enfo...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

critical high database Tier 0 ⚙ backend specialist
Multi-chapter affiliation data model
epic-admin-portal-user-management-task-002

Design and implement the data model supporting NHF's requirement that a single user may belong to up to 5 local chapters...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

critical high database Tier 1 🗄 database specialist
User account management BLoC state
epic-admin-portal-user-management-task-004

Implement the BLoC managing all state for the User Account Management Screen: paginated user list, active filter state, ...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

critical high frontend Tier 3 🎨 frontend specialist
Paginated user list UI with status indicators
epic-admin-portal-user-management-task-005

Build the paginated user list Flutter widget showing all users within the admin's org scope. Each user row must display ...

Admin Portal User Management: Full Account Management Screen · Organisation Admin Portal

critical high frontend Tier 4 🎨 frontend specialist
Integrate Rive runtime into animation controller
epic-annual-impact-summary-foundation-task-008

Extend WrappedAnimationController to support Rive StateMachineController instances alongside Flutter AnimationController...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

high high frontend Tier 1 🎨 frontend specialist
Implement ScreenshotCaptureUtility widget-to-PNG renderer
epic-annual-impact-summary-foundation-task-009

Build the ScreenshotCaptureUtility class using a RepaintBoundary and RenderRepaintBoundary to capture any widget subtree...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

high medium infrastructure Tier 0 🏗 infrastructure specialist
Add share-sheet integration to screenshot utility
epic-annual-impact-summary-foundation-task-010

Extend ScreenshotCaptureUtility with a shareWidget(globalKey, shareText) method that captures the widget, writes the PNG...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

high medium integration Tier 1 🔗 integration specialist
Write unit tests for SummaryOfflineCache
epic-annual-impact-summary-foundation-task-011

Write Flutter unit tests covering the SummaryOfflineCache: put and get round-trip serialisation, cache miss returns null...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

high low testing Tier 4 🧪 testing specialist
Write unit tests for AnnualSummaryRepository
epic-annual-impact-summary-foundation-task-012

Write Flutter unit tests for AnnualSummaryRepository using mock Supabase client and mock SummaryOfflineCache. Cover: cac...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

high medium testing Tier 6 🧪 testing specialist
Write widget tests for WrappedAnimationController
epic-annual-impact-summary-foundation-task-013

Write Flutter widget tests verifying WrappedAnimationController lifecycle: controllers are initialised before first fram...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

high medium testing Tier 2 🧪 testing specialist
Write integration tests for ScreenshotCaptureUtility
epic-annual-impact-summary-foundation-task-014

Write Flutter integration tests (running on device/emulator) for ScreenshotCaptureUtility: captureWidget returns a non-e...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

high medium testing Tier 2 🧪 testing specialist
Define AnnualSummary Dart domain models
epic-annual-impact-summary-foundation-task-002

Create the core Dart domain model classes for AnnualSummary, AnnualSummaryPeriod, and AnnualSummaryStatus. Include fromJ...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

critical medium backend Tier 1 ⚙ backend specialist
Implement SummaryOfflineCache read/write API
epic-annual-impact-summary-foundation-task-004

Build the SummaryOfflineCache class exposing put(summary), get(mentorId, year), getAll(mentorId), delete(mentorId, year)...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

critical low backend Tier 3 ⚙ backend specialist
Implement AnnualSummaryRepository with Supabase integration
epic-annual-impact-summary-foundation-task-005

Create the AnnualSummaryRepository class with fetchSummary(mentorId, year), saveSummary(summary), and deleteSummary(ment...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

critical medium backend Tier 4 ⚙ backend specialist
Create Supabase annual_summaries table migration
epic-annual-impact-summary-foundation-task-001

Write and apply a Supabase database migration that creates the annual_summaries table with columns for peer_mentor_id, y...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

critical medium database Tier 0 🗄 database specialist
Implement WrappedAnimationController lifecycle management
epic-annual-impact-summary-foundation-task-007

Create the WrappedAnimationController class that owns and manages a set of named Flutter AnimationControllers for the Wr...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

critical high frontend Tier 0 🎨 frontend specialist
Implement Hive cache schema for offline summaries
epic-annual-impact-summary-foundation-task-003

Define the Hive TypeAdapter and box schema for persisting AnnualSummary objects to local device storage. Register the ad...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

critical medium infrastructure Tier 2 ⚙ backend specialist
Add offline-first cache-then-network strategy to repository
epic-annual-impact-summary-foundation-task-006

Extend AnnualSummaryRepository to implement a cache-then-network read strategy: serve cached data immediately if present...

Annual Impact Summary — Data Foundation & Infrastructure · Annual Impact Summary (Wrapped)

critical medium integration Tier 5 🔗 integration specialist
Implement offline cache support in aggregation service
epic-annual-impact-summary-core-services-task-006

Extend the AnnualStatsAggregationService to read from the local SQLite offline cache when network is unavailable. Cache ...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high medium backend Tier 4 ⚙ backend specialist
Load and manage milestone threshold definitions
epic-annual-impact-summary-core-services-task-007

Implement the configuration loading layer for MilestoneDefinition records. Definitions should be stored as a JSON asset ...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high low backend Tier 2 ⚙ backend specialist
Orchestrate full SummaryShareService workflow
epic-annual-impact-summary-core-services-task-013

Implement the top-level SummaryShareService.share() method that orchestrates the complete sharing workflow: (1) wait for...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high medium backend Tier 4 ⚙ backend specialist
Persist previously-unlocked milestones for new-unlock detection
epic-annual-impact-summary-core-services-task-009

Implement the storage layer that persists which milestone IDs a user has previously unlocked, so the MilestoneDetectionS...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high low database Tier 5 🗄 database specialist
Implement screenshot capture for share payload
epic-annual-impact-summary-core-services-task-010

Implement the screenshot capture layer within SummarySharaService that uses Flutter's RenderRepaintBoundary to capture t...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high medium infrastructure Tier 2 ⚡ fullstack developer
Implement iOS photo library permission handling
epic-annual-impact-summary-core-services-task-011

Add iOS-specific photo library permission flow to SummaryShareService. Request NSPhotoLibraryAddUsageDescription permiss...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high medium integration Tier 3 🔗 integration specialist
Implement Android share and gallery routing
epic-annual-impact-summary-core-services-task-012

Add Android-specific handling to SummaryShareService. Implement WRITE_EXTERNAL_STORAGE / MediaStore permission flow for ...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high medium integration Tier 3 🔗 integration specialist
Unit test AnnualStatsAggregationService
epic-annual-impact-summary-core-services-task-014

Write comprehensive unit tests for AnnualStatsAggregationService covering: correct total hours computation across activi...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high medium testing Tier 5 🧪 testing specialist
Unit test MilestoneDetectionService
epic-annual-impact-summary-core-services-task-015

Write unit tests for MilestoneDetectionService covering: correct threshold crossing detection for all metric types (hour...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high low testing Tier 6 🧪 testing specialist
Integration test SummaryShareService platform flows
epic-annual-impact-summary-core-services-task-016

Write integration tests for SummaryShareService covering: screenshot capture produces non-null Uint8List output, iOS per...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

high medium testing Tier 5 🧪 testing specialist
Define period selector data contracts and event interface
epic-annual-impact-summary-core-services-task-001

Design and implement the SummaryPeriod model, PeriodType enum (rolling-12-month, half-year, custom), and the event/state...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

critical low backend Tier 0 ⚙ backend specialist
Design AnnualStatsResult and MilestoneDefinition data models
epic-annual-impact-summary-core-services-task-003

Define the Dart data classes for AnnualStatsResult (total_hours, unique_contacts_helped, activity_type_distribution as M...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

critical low backend Tier 1 ⚙ backend specialist
Build AnnualStatsAggregationService core logic
epic-annual-impact-summary-core-services-task-005

Implement the AnnualStatsAggregationService class with methods to: (1) accept a SummaryPeriod and user ID, (2) query Sup...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

critical high backend Tier 3 ⚙ backend specialist
Implement MilestoneDetectionService evaluation logic
epic-annual-impact-summary-core-services-task-008

Build the MilestoneDetectionService that accepts an AnnualStatsResult and the list of MilestoneDefinitions and returns a...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

critical medium backend Tier 4 ⚙ backend specialist
Implement Supabase queries for annual stats aggregation
epic-annual-impact-summary-core-services-task-004

Write the Supabase RPC calls and PostgREST queries that retrieve activity records filtered by peer mentor user ID and a ...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

critical medium database Tier 2 🗄 database specialist
Implement SummaryPeriodSelector widget UI
epic-annual-impact-summary-core-services-task-002

Build the SummaryPeriodSelector Flutter widget with toggle buttons for Rolling 12-Month, Last 6-Month, and Custom Date R...

Annual Impact Summary — Core Business Services · Annual Impact Summary (Wrapped)

critical low frontend Tier 1 🎨 frontend specialist
Document widget API contracts and accessibility guidelines
epic-annual-impact-summary-ui-components-task-018

Write developer documentation for all five components (StatCardWidget, MilestoneBadgeWidget, ActivityTypeBreakdownWidget...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

medium low documentation Tier 6 📝 documentor
Widget visual regression and animation snapshot tests
epic-annual-impact-summary-ui-components-task-017

Create golden file snapshot tests for all four widgets covering: stat card in locked/counting/completed animation states...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

medium medium testing Tier 5 🧪 testing specialist
Build stat card widget base layout using design tokens
epic-annual-impact-summary-ui-components-task-004

Implement the StatCardWidget scaffold with icon slot, value display, and descriptive label. All colours, typography, and...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 1 🎨 frontend specialist
Implement count-up animation for stat card value
epic-annual-impact-summary-ui-components-task-005

Integrate with WrappedAnimationController to drive the numeric count-up animation on the stat card value field. The anim...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 2 🎨 frontend specialist
Build milestone badge widget base layout with locked/unlocked states
epic-annual-impact-summary-ui-components-task-007

Implement the MilestoneBadgeWidget scaffold supporting two visual states: locked (muted, padlock icon overlay) and unloc...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 1 🎨 frontend specialist
Implement pop animation for milestone badge unlock
epic-annual-impact-summary-ui-components-task-008

Integrate with WrappedAnimationController to drive the pop (scale + fade) entrance animation when a milestone badge tran...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 2 🎨 frontend specialist
Build activity type breakdown widget base layout
epic-annual-impact-summary-ui-components-task-010

Implement the ActivityTypeBreakdownWidget scaffold with support for rendering multiple activity type segments as a bar o...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 1 🎨 frontend specialist
Implement animated segments and tap-to-expand in breakdown widget
epic-annual-impact-summary-ui-components-task-011

Drive bar/pie segment entrance animations via WrappedAnimationController (staggered reveal per segment). Implement tap-t...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 2 🎨 frontend specialist
Build summary share overlay base UI (bottom sheet)
epic-annual-impact-summary-ui-components-task-013

Implement the SummaryShareOverlay as a modal bottom sheet using design token classes for all styling. The sheet must con...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 1 🎨 frontend specialist
Implement shareable image card preview in share overlay
epic-annual-impact-summary-ui-components-task-014

Integrate with ScreenshotCaptureUtility to render a live preview of the shareable image card inside the SummaryShareOver...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium frontend Tier 2 🎨 frontend specialist
Integration test: accessibility provider wired to all widgets
epic-annual-impact-summary-ui-components-task-016

Write Flutter widget integration tests verifying that SummaryAccessibilityProvider is correctly wired into all four widg...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

high medium testing Tier 4 🧪 testing specialist
Add accessibility semantics to stat card widget
epic-annual-impact-summary-ui-components-task-006

Wire SummaryAccessibilityProvider into StatCardWidget to attach Semantics nodes with the generated announcement strings....

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

critical low frontend Tier 3 🎨 frontend specialist
Add VoiceOver/TalkBack descriptions to milestone badge
epic-annual-impact-summary-ui-components-task-009

Wire SummaryAccessibilityProvider into MilestoneBadgeWidget to attach Semantics with the generated announcement strings ...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

critical low frontend Tier 3 🎨 frontend specialist
Add per-segment accessibility labels to breakdown widget
epic-annual-impact-summary-ui-components-task-012

Wire SummaryAccessibilityProvider into ActivityTypeBreakdownWidget to produce a Semantics node per segment with a comple...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

critical low frontend Tier 3 🎨 frontend specialist
Add accessibility support to summary share overlay
epic-annual-impact-summary-ui-components-task-015

Wire SummaryAccessibilityProvider to the SummaryShareOverlay to ensure all share action buttons have descriptive Semanti...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

critical low frontend Tier 3 🎨 frontend specialist
Define accessibility provider interface and reduced-motion API
epic-annual-impact-summary-ui-components-task-001

Define the SummaryAccessibilityProvider interface including the contract for generating semantically complete announceme...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

critical medium infrastructure Tier 0 🎨 frontend specialist
Implement reduced-motion detection and propagation
epic-annual-impact-summary-ui-components-task-002

Implement system reduced-motion preference detection using Flutter's MediaQuery.disableAnimations and AccessibilityFeatu...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

critical medium infrastructure Tier 1 🎨 frontend specialist
Build announcement string generator for all widget types
epic-annual-impact-summary-ui-components-task-003

Implement the announcement string generation logic inside SummaryAccessibilityProvider for each widget type: stat card (...

Annual Impact Summary — UI Widgets & Accessibility · Annual Impact Summary (Wrapped)

critical medium infrastructure Tier 2 🎨 frontend specialist
Implement offline banner in WrappedSummaryScreen
epic-annual-impact-summary-orchestration-task-010

Add an offline banner widget inside WrappedSummaryScreen that appears when WrappedSummaryBloc emits WrappedSummaryOfflin...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

medium low frontend Tier 5 🎨 frontend specialist
Implement period selector UI in WrappedSummaryScreen
epic-annual-impact-summary-orchestration-task-011

Integrate the SummaryPeriodSelector widget into WrappedSummaryScreen so peer mentors can switch between available annual...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

medium low frontend Tier 6 🎨 frontend specialist
Widget tests for WrappedSummaryScreen UI states
epic-annual-impact-summary-orchestration-task-017

Write widget tests for all WrappedSummaryScreen UI states: loading skeleton, loaded first slide, loaded slide navigation...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

medium medium testing Tier 9 🧪 testing specialist
Implement ChangePeriod event handler in BLoC
epic-annual-impact-summary-orchestration-task-003

Implement the ChangePeriod event handler in WrappedSummaryBloc. When a new period is selected (e.g., previous year), the...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium backend Tier 2 ⚙ backend specialist
Implement NavigateSlide event handler in BLoC
epic-annual-impact-summary-orchestration-task-004

Implement the NavigateSlide event handler to manage current slide index within WrappedSummaryLoaded state. The handler m...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high low backend Tier 2 ⚙ backend specialist
Implement ShareSlide event handler in BLoC
epic-annual-impact-summary-orchestration-task-005

Implement the ShareSlide event handler in WrappedSummaryBloc. The handler delegates to the summary share service (screen...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium backend Tier 2 ⚙ backend specialist
Implement offline cache coordination in BLoC
epic-annual-impact-summary-orchestration-task-006

Wire the summary offline cache into WrappedSummaryBloc so that every successful LoadSummary or ChangePeriod call persist...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium backend Tier 2 ⚙ backend specialist
Wire share overlay and ShareSlide dispatch
epic-annual-impact-summary-orchestration-task-012

Integrate the SummaryShareOverlay into WrappedSummaryScreen. A share button on each slide opens the overlay; confirming ...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium frontend Tier 6 🎨 frontend specialist
Accessibility audit: focus order and semantics
epic-annual-impact-summary-orchestration-task-016

Conduct a full WCAG 2.2 AA accessibility audit of WrappedSummaryScreen. Verify logical focus traversal order through sli...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium frontend Tier 8 🎨 frontend specialist
Implement feature flag gating for Wrapped feature
epic-annual-impact-summary-orchestration-task-014

Gate the entire Annual Impact Summary feature behind a feature flag using the existing feature-flag-provider and feature...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium infrastructure Tier 5 ⚙ backend specialist
Implement deep-link entry point for push notification
epic-annual-impact-summary-orchestration-task-013

Wire the push notification deep-link handler to navigate directly into WrappedSummaryScreen when a summary-ready notific...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium integration Tier 5 🔗 integration specialist
Unit-test WrappedSummaryBloc all event paths
epic-annual-impact-summary-orchestration-task-007

Write bloc_test unit tests covering all BLoC event handlers: LoadSummary success and network-failure paths, ChangePeriod...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high medium testing Tier 3 🧪 testing specialist
End-to-end integration test: full Wrapped flow
epic-annual-impact-summary-orchestration-task-015

Write integration tests (flutter_test with integration_test package) covering the complete Wrapped flow: push notificati...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

high high testing Tier 7 🧪 testing specialist
Define WrappedSummaryBloc events and states
epic-annual-impact-summary-orchestration-task-001

Define the complete set of BLoC events (LoadSummary, ChangePeriod, ShareSlide, NavigateSlide) and states (WrappedSummary...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

critical low backend Tier 0 ⚙ backend specialist
Implement LoadSummary event handler in BLoC
epic-annual-impact-summary-orchestration-task-002

Implement the LoadSummary event handler inside WrappedSummaryBloc. The handler calls the annual stats aggregation servic...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

critical high backend Tier 1 ⚙ backend specialist
Implement WrappedSummaryScreen full-screen scaffold
epic-annual-impact-summary-orchestration-task-008

Build the full-screen WrappedSummaryScreen scaffold with a Hero transition entry animation. The screen must occupy the f...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

critical high frontend Tier 4 🎨 frontend specialist
Implement slide PageView and progress indicator
epic-annual-impact-summary-orchestration-task-009

Implement the PageView inside WrappedSummaryScreen that renders each slide widget (StatCard, MilestoneBadge, ActivityTyp...

Annual Impact Summary — BLoC Orchestration & Full Screen Integration · Annual Impact Summary (Wrapped)

critical high frontend Tier 5 🎨 frontend specialist
Unit tests for PushNotificationService
epic-assignment-follow-up-reminders-foundation-task-011

Write unit tests for the PushNotificationService wrapper covering: sendToUser happy path, sendToTopic happy path, FCM to...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

medium low testing Tier 1 🧪 testing specialist
Implement PushNotificationService wrapper
epic-assignment-follow-up-reminders-foundation-task-007

Implement the PushNotificationService infrastructure wrapper that encapsulates FCM token management and push dispatch. E...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

high low infrastructure Tier 0 ⚙ backend specialist
Unit tests for ReminderConfigRepository
epic-assignment-follow-up-reminders-foundation-task-008

Write unit tests for ReminderConfigRepository using flutter_test and a Supabase mock client. Cover: successful fetch, up...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

high low testing Tier 2 🧪 testing specialist
Unit tests for InAppNotificationRepository
epic-assignment-follow-up-reminders-foundation-task-009

Write unit tests for InAppNotificationRepository covering: insert a notification record, mark as read, fetch unread for ...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

high low testing Tier 2 🧪 testing specialist
Unit tests for AssignmentContactTrackingRepository
epic-assignment-follow-up-reminders-foundation-task-010

Write unit tests for AssignmentContactTrackingRepository covering: update last_contact_date, fetch overdue assignments w...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

high medium testing Tier 2 🧪 testing specialist
Integration test: data layer end-to-end
epic-assignment-follow-up-reminders-foundation-task-012

Write an integration test that exercises all four repository/service components against a local Supabase instance or sta...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

high medium testing Tier 3 🧪 testing specialist
Implement ReminderConfigRepository
epic-assignment-follow-up-reminders-foundation-task-004

Implement the ReminderConfigRepository Dart class that reads and writes reminder_days and escalation_days from the org_s...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

critical low backend Tier 1 ⚙ backend specialist
Implement InAppNotificationRepository
epic-assignment-follow-up-reminders-foundation-task-005

Implement the InAppNotificationRepository Dart class backed by the notification_log table. Expose methods: insertNotific...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

critical low backend Tier 1 ⚙ backend specialist
Implement AssignmentContactTrackingRepository
epic-assignment-follow-up-reminders-foundation-task-006

Implement the AssignmentContactTrackingRepository Dart class that queries the assignments table for last_contact_date da...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

critical medium backend Tier 1 ⚙ backend specialist
Database migration: notification_log table
epic-assignment-follow-up-reminders-foundation-task-001

Create the database migration script to add the notification_log table with columns for notification_id, assignment_id, ...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

critical medium database Tier 0 🗄 database specialist
Database migration: last_contact_date on assignments
epic-assignment-follow-up-reminders-foundation-task-002

Add the last_contact_date timestamp column to the assignments table via a migration script. Include an index on (org_id,...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

critical low database Tier 0 🗄 database specialist
Database migration: reminder config columns on org_settings
epic-assignment-follow-up-reminders-foundation-task-003

Add reminder_days (integer, default 10) and escalation_days (integer, default 14) columns to the org_settings table. Inc...

Assignment Follow-up Reminders — Data Foundation · Assignment Follow-up Reminders

critical low database Tier 0 🗄 database specialist
Widget and integration tests for reminder UI components
epic-assignment-follow-up-reminders-ui-task-009

Write flutter_test widget tests for all three components covering: ReminderNotificationCard renders elapsed days and CTA...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

medium medium testing Tier 4 🧪 testing specialist
Scaffold ReminderNotificationCard widget
epic-assignment-follow-up-reminders-ui-task-001

Create the stateless Flutter widget for ReminderNotificationCard displayed in the Notifications tab for peer mentors. Im...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high low frontend Tier 0 🎨 frontend specialist
Add dismiss and mark-read interactions to ReminderNotificationCard
epic-assignment-follow-up-reminders-ui-task-002

Implement the dismiss and mark-as-read gesture and button interactions on ReminderNotificationCard. Wire up swipe-to-dis...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high low frontend Tier 1 🎨 frontend specialist
Scaffold CoordinatorEscalationNotificationCard widget
epic-assignment-follow-up-reminders-ui-task-003

Create the Flutter widget for CoordinatorEscalationNotificationCard shown exclusively to coordinators when a reminder es...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high low frontend Tier 0 🎨 frontend specialist
Implement escalation acknowledgement actions
epic-assignment-follow-up-reminders-ui-task-004

Add acknowledgement action buttons to CoordinatorEscalationNotificationCard: acknowledge (closes the escalation loop) an...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high low frontend Tier 1 🎨 frontend specialist
Build ReminderThresholdSettingsUI input fields
epic-assignment-follow-up-reminders-ui-task-005

Implement the ReminderThresholdSettingsUI section embedded in the org settings screen. Create numeric input fields for c...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high low frontend Tier 0 🎨 frontend specialist
Add validation and save confirmation to threshold settings
epic-assignment-follow-up-reminders-ui-task-006

Implement client-side validation for ReminderThresholdSettingsUI: first-reminder threshold must be ≥ 1, escalation thres...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high low frontend Tier 1 🎨 frontend specialist
Apply WCAG 2.2 AA accessibility to all three components
epic-assignment-follow-up-reminders-ui-task-008

Audit and fix all three components (ReminderNotificationCard, CoordinatorEscalationNotificationCard, ReminderThresholdSe...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high low frontend Tier 3 🎨 frontend specialist
Integrate notification cards with BLoC/Riverpod state layer
epic-assignment-follow-up-reminders-ui-task-007

Connect both ReminderNotificationCard and CoordinatorEscalationNotificationCard to the shared notification BLoC/Riverpod...

Assignment Follow-up Reminders — Notification UI & Settings · Assignment Follow-up Reminders

high medium integration Tier 2 🎨 frontend specialist
Add structured logging to ReminderEvaluationService
epic-assignment-follow-up-reminders-services-task-003

Integrate structured logging throughout ReminderEvaluationService. Log evaluation inputs (assignment ID, days since cont...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

high low backend Tier 2 ⚙ backend specialist
Add structured logging to ReminderDispatchService
epic-assignment-follow-up-reminders-services-task-008

Integrate structured logging throughout ReminderDispatchService. Log dispatch attempts with assignment ID and notificati...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

high low backend Tier 4 ⚙ backend specialist
Add structured logging to ReminderSchedulerService
epic-assignment-follow-up-reminders-services-task-013

Integrate structured logging throughout ReminderSchedulerService. Log daily run start with timestamp and open assignment...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

high low backend Tier 5 ⚙ backend specialist
Define ReminderEvaluation domain types and interfaces
epic-assignment-follow-up-reminders-services-task-001

Create the Dart domain types and abstract interfaces for the ReminderEvaluationService. Define the ReminderEvaluationRes...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical low backend Tier 0 ⚙ backend specialist
Implement ReminderEvaluationService core logic
epic-assignment-follow-up-reminders-services-task-002

Implement the concrete ReminderEvaluationService Dart class with injectable dependencies on AssignmentContactTrackingRep...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical medium backend Tier 1 ⚙ backend specialist
Define ReminderDispatch domain types and interfaces
epic-assignment-follow-up-reminders-services-task-005

Create the Dart domain types and abstract interfaces for ReminderDispatchService. Define payload types for peer mentor p...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical low backend Tier 1 ⚙ backend specialist
Implement ReminderDispatchService push and in-app delivery
epic-assignment-follow-up-reminders-services-task-006

Implement the concrete ReminderDispatchService Dart class with injectable dependencies on PushNotificationService and In...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical medium backend Tier 2 ⚙ backend specialist
Add idempotency guard to ReminderDispatchService
epic-assignment-follow-up-reminders-services-task-007

Implement the reminder_sent_at idempotency check in ReminderDispatchService. Before dispatching any notification, query ...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical medium backend Tier 3 ⚙ backend specialist
Define ReminderScheduler domain types and interfaces
epic-assignment-follow-up-reminders-services-task-010

Create the Dart domain types and abstract interfaces for ReminderSchedulerService. Define the SchedulerRunResult type ca...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical low backend Tier 2 ⚙ backend specialist
Implement ReminderSchedulerService orchestration logic
epic-assignment-follow-up-reminders-services-task-011

Implement the concrete ReminderSchedulerService Dart class with injectable dependencies on ReminderEvaluationService, Re...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical high backend Tier 3 ⚙ backend specialist
Add batching and idempotency to ReminderSchedulerService
epic-assignment-follow-up-reminders-services-task-012

Enhance ReminderSchedulerService with configurable batch sizing to prevent overwhelming downstream services during large...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical medium backend Tier 4 ⚙ backend specialist
Unit test ReminderEvaluationService
epic-assignment-follow-up-reminders-services-task-004

Write comprehensive unit tests for ReminderEvaluationService covering: result is none when days are below remind thresho...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical medium testing Tier 2 🧪 testing specialist
Unit test ReminderDispatchService
epic-assignment-follow-up-reminders-services-task-009

Write comprehensive unit tests for ReminderDispatchService covering: peer mentor push payload composition, coordinator e...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical medium testing Tier 4 🧪 testing specialist
Unit test ReminderSchedulerService
epic-assignment-follow-up-reminders-services-task-014

Write comprehensive unit tests for ReminderSchedulerService covering: all open assignments are evaluated, remind results...

Assignment Follow-up Reminders — Business Logic Services · Assignment Follow-up Reminders

critical high testing Tier 5 🧪 testing specialist
Document cron infrastructure and operations runbook
epic-assignment-follow-up-reminders-cron-infrastructure-task-007

Write an operations runbook documenting the cron schedule registration, execution log schema, advisory lock mechanism, a...

Assignment Follow-up Reminders — Cron Infrastructure & Activation · Assignment Follow-up Reminders

medium low documentation Tier 22 📝 documentor
Add advisory lock to prevent overlapping runs
epic-assignment-follow-up-reminders-cron-infrastructure-task-003

Implement a PostgreSQL advisory lock or idempotency guard on the cron trigger to prevent concurrent overlapping executio...

Assignment Follow-up Reminders — Cron Infrastructure & Activation · Assignment Follow-up Reminders

high medium backend Tier 20 ⚙ backend specialist
Implement cron execution logging
epic-assignment-follow-up-reminders-cron-infrastructure-task-002

Add structured execution logging to the cron trigger that captures start time, completion time, total duration, number o...

Assignment Follow-up Reminders — Cron Infrastructure & Activation · Assignment Follow-up Reminders

high low database Tier 19 🗄 database specialist
Set up consecutive failure alerting
epic-assignment-follow-up-reminders-cron-infrastructure-task-005

Configure alerting logic that fires when the cron trigger fails on two or more consecutive executions. Integrate with Su...

Assignment Follow-up Reminders — Cron Infrastructure & Activation · Assignment Follow-up Reminders

high medium infrastructure Tier 20 🏗 infrastructure specialist
Write integration tests for cron trigger lifecycle
epic-assignment-follow-up-reminders-cron-infrastructure-task-006

Write integration tests covering the full cron trigger lifecycle: successful run with logging, advisory lock preventing ...

Assignment Follow-up Reminders — Cron Infrastructure & Activation · Assignment Follow-up Reminders

high medium testing Tier 21 🧪 testing specialist
Implement activity registration contact reset hook
epic-assignment-follow-up-reminders-cron-infrastructure-task-004

Add a database trigger or service hook that updates last_contact_date on the relevant assignment record whenever a peer ...

Assignment Follow-up Reminders — Cron Infrastructure & Activation · Assignment Follow-up Reminders

critical medium backend Tier 19 🗄 database specialist
Register daily cron schedule in Supabase
epic-assignment-follow-up-reminders-cron-infrastructure-task-001

Configure and register the pg_cron or Edge Function cron schedule that triggers the daily reminder evaluation cycle. Def...

Assignment Follow-up Reminders — Cron Infrastructure & Activation · Assignment Follow-up Reminders

critical medium infrastructure Tier 18 🏗 infrastructure specialist
Implement VippsOrgCostConfig repository and subscription gate logic
epic-bankid-vipps-login-foundation-task-007

Build the VippsOrgCostConfig infrastructure component that fetches and validates per-organization Vipps subscription sta...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

high low backend Tier 1 ⚙ backend specialist
Design Supabase schema for Vipps organization cost configuration
epic-bankid-vipps-login-foundation-task-006

Create the vipps_org_cost_config table in Supabase with columns: org_id (FK to organizations), subscription_active (bool...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

high low database Tier 0 🗄 database specialist
Write integration tests for SecureStorageAdapter and AuthTokenStore
epic-bankid-vipps-login-foundation-task-008

Create widget and integration tests for the SecureStorageAdapter and AuthTokenStore using flutter_test and mocktail. Tes...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

high medium testing Tier 3 🧪 testing specialist
Integration test UserIdentityRepository and VippsOrgCostConfig against Supabase
epic-bankid-vipps-login-foundation-task-009

Write integration tests that exercise the full stack: UserIdentityRepository persisting personnummer to Supabase and rea...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

high medium testing Tier 3 🧪 testing specialist
Build AuthTokenStore on top of SecureStorageAdapter
epic-bankid-vipps-login-foundation-task-003

Implement the AuthTokenStore data component that persists access tokens, refresh tokens, and token expiry timestamps usi...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

critical low backend Tier 2 ⚙ backend specialist
Implement UserIdentityRepository with Supabase CRUD and local cache
epic-bankid-vipps-login-foundation-task-005

Build the UserIdentityRepository that reads and writes user identity data (personnummer, BankID verification status, Vip...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

critical medium backend Tier 2 ⚙ backend specialist
Design Supabase schema for user identity and BankID verification status
epic-bankid-vipps-login-foundation-task-004

Create the user_identities table in Supabase with columns: id (uuid PK), user_id (FK to auth.users), personnummer (text,...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

critical medium database Tier 0 🗄 database specialist
Define SecureStorageAdapter interface and Flutter Secure Storage integration
epic-bankid-vipps-login-foundation-task-001

Create the typed SecureStorageAdapter abstraction layer wrapping flutter_secure_storage. Define the interface contract w...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

critical low infrastructure Tier 0 ⚙ backend specialist
Implement SecureStorageAdapter with platform-specific encryption options
epic-bankid-vipps-login-foundation-task-002

Provide the concrete implementation of the SecureStorageAdapter interface using flutter_secure_storage. Configure IOSOpt...

BankID & Vipps Login — Secure Storage and Identity Foundation · BankID and Vipps Login

critical low infrastructure Tier 1 ⚙ backend specialist
Document OAuth client interfaces and test/prod environment setup
epic-bankid-vipps-login-api-clients-task-008

Write developer documentation covering the public interfaces of the Vipps API Client, BankID Provider Client, and Deep L...

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

medium low documentation Tier 3 📝 documentor
Integration test: Vipps and BankID client components end-to-end
epic-bankid-vipps-login-api-clients-task-007

Write integration tests for the Vipps API Client, BankID Provider Client, and Deep Link Handler using test-environment c...

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

high medium testing Tier 2 🧪 testing specialist
Implement Vipps API Client with token exchange and userinfo endpoints
epic-bankid-vipps-login-api-clients-task-003

Build the Vipps API Client infrastructure component responsible for all HTTP communication with the Vipps Login OAuth 2....

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

critical medium api Tier 1 🔌 api specialist
Implement BankID Provider Client via Supabase Edge Function
epic-bankid-vipps-login-api-clients-task-004

Build the BankID Provider Client that communicates with the backend Supabase Edge Function responsible for BankID server...

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

critical high api Tier 1 🔌 api specialist
Define typed error models for Vipps and BankID API failures
epic-bankid-vipps-login-api-clients-task-001

Create a shared typed error model layer covering all expected failure modes from both Vipps Login OAuth 2.0 and BankID a...

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

critical medium backend Tier 0 ⚙ backend specialist
Implement Supabase Edge Function for BankID assertion validation
epic-bankid-vipps-login-api-clients-task-005

Create the Supabase Edge Function that receives BankID assertion tokens from the mobile client, validates them against t...

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

critical high backend Tier 1 ⚙ backend specialist
Implement environment-aware endpoint configuration for Vipps and BankID
epic-bankid-vipps-login-api-clients-task-002

Build an environment configuration module that resolves the correct Vipps Login OAuth 2.0 base URLs (test vs. production...

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

critical low infrastructure Tier 0 ⚙ backend specialist
Implement Deep Link / OAuth Redirect Handler with state validation
epic-bankid-vipps-login-api-clients-task-006

Build the Deep Link and OAuth Redirect Handler that intercepts incoming OAuth callback deep links for both Vipps and Ban...

BankID & Vipps Login — External API Clients and OAuth Infrastructure · BankID and Vipps Login

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Implement biometric enrollment after first-time login
epic-bankid-vipps-login-services-task-011

Implement the post-authentication biometric enrollment flow in the Biometric Authentication Service: after successful Ba...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

high medium backend Tier 6 ⚙ backend specialist
Implement biometric Supabase session resumption
epic-bankid-vipps-login-services-task-012

Build the Biometric Authentication Service session resumption path: authenticate the user via local_auth, retrieve the p...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

high medium backend Tier 7 ⚙ backend specialist
Implement local_auth integration and biometric availability check
epic-bankid-vipps-login-services-task-010

Build the Biometric Authentication Service foundation: integrate the local_auth Flutter plugin, implement availability d...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

high medium infrastructure Tier 0 🏗 infrastructure specialist
Implement Auth Session Manager core JWT lifecycle
epic-bankid-vipps-login-services-task-001

Build the foundational Authentication Session Manager with JWT storage, retrieval, expiry checking, and secure token per...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical medium backend Tier 0 ⚙ backend specialist
Implement JWT automatic token refresh mechanism
epic-bankid-vipps-login-services-task-002

Add proactive token refresh logic to the Auth Session Manager: detect tokens approaching expiry (within configurable win...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical medium backend Tier 1 ⚙ backend specialist
Implement auth state stream for BLoC and Riverpod
epic-bankid-vipps-login-services-task-003

Expose a reactive auth state stream from the Auth Session Manager that broadcasts AuthState changes (authenticated, unau...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical medium backend Tier 2 ⚙ backend specialist
Implement personnummer extraction and Supabase user persistence
epic-bankid-vipps-login-services-task-006

Complete the Vipps Authentication Service post-authentication flow: upsert the authenticated Vipps user into Supabase (c...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical high backend Tier 5 ⚙ backend specialist
Implement BankID assertion validation via Edge Function
epic-bankid-vipps-login-services-task-008

Implement the BankID assertion validation step in the BankID Authentication Service: poll or receive callback for the co...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical high backend Tier 4 🔗 integration specialist
Implement BankID Supabase identity linking and session creation
epic-bankid-vipps-login-services-task-009

Complete the BankID Authentication Service post-validation flow: link the verified BankID identity to an existing Supaba...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical high backend Tier 5 ⚙ backend specialist
Implement Vipps PKCE OAuth 2.0 flow initiation
epic-bankid-vipps-login-services-task-004

Build the Vipps Authentication Service flow initiation: generate PKCE code verifier and challenge, construct the Vipps a...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical high integration Tier 3 🔗 integration specialist
Implement Vipps OAuth callback and token exchange
epic-bankid-vipps-login-services-task-005

Handle the OAuth redirect callback in the Vipps Authentication Service: validate the received authorization code and sta...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical high integration Tier 4 🔗 integration specialist
Implement BankID session initiation and challenge request
epic-bankid-vipps-login-services-task-007

Build the BankID Authentication Service session initiation: call the BankID Provider Client to start an authentication s...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical high integration Tier 3 🔗 integration specialist
Integration and error path testing for all auth services
epic-bankid-vipps-login-services-task-013

Write integration tests covering the full authentication service layer: Vipps PKCE flow with personnummer extraction, Ba...

BankID & Vipps Login — Authentication Business Services and Session Management · BankID and Vipps Login

critical high testing Tier 8 🧪 testing specialist
Biometric Auth Screen — Face ID and fingerprint prompt
epic-bankid-vipps-login-ui-task-007

Implement the Biometric Authentication Screen using the Flutter local_auth package. The screen must show a branded promp...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

high medium frontend Tier 1 🎨 frontend specialist
Biometric Auth Screen — fallback routing and unsupported device handling
epic-bankid-vipps-login-ui-task-008

Add fallback logic to the Biometric Authentication Screen for devices where biometrics are unavailable or not enrolled. ...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

high medium frontend Tier 2 🎨 frontend specialist
End-to-end auth UI flow integration tests
epic-bankid-vipps-login-ui-task-012

Write integration tests covering the complete user-facing authentication flows: BankID path (method selector → BankID sc...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

high medium testing Tier 6 🧪 testing specialist
Auth Method Selector Screen layout and method cards
epic-bankid-vipps-login-ui-task-001

Build the Authentication Method Selector Screen with three method cards (BankID, Vipps, Biometric). Each card must displ...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical low frontend Tier 0 🎨 frontend specialist
Auth Method Selector WCAG 2.2 AA accessibility
epic-bankid-vipps-login-ui-task-002

Apply full WCAG 2.2 AA accessibility to the Authentication Method Selector Screen: correct semantic labels on all method...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical medium frontend Tier 1 🎨 frontend specialist
Vipps Auth Screen — OAuth redirect launch and loading state
epic-bankid-vipps-login-ui-task-003

Implement the Vipps Authentication Screen that triggers the Vipps OAuth redirect flow. The screen must show the Vipps lo...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical medium frontend Tier 1 🎨 frontend specialist
Vipps Auth Screen — deep-link callback and error handling
epic-bankid-vipps-login-ui-task-004

Handle the OAuth deep-link callback on the Vipps Authentication Screen: parse the incoming URL from DeepLinkHandler, ext...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical medium frontend Tier 2 🎨 frontend specialist
BankID Auth Screen — launch and progress display
epic-bankid-vipps-login-ui-task-005

Build the BankID Authentication Screen that launches the BankID provider flow via WebView or system browser redirect dep...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical high frontend Tier 1 🎨 frontend specialist
BankID Auth Screen — callback handling and error states
epic-bankid-vipps-login-ui-task-006

Implement the BankID deep-link and WebView callback handling on the BankID Authentication Screen: detect successful auth...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical high frontend Tier 2 🎨 frontend specialist
Personnummer Confirmation Widget — masked display and acknowledgment
epic-bankid-vipps-login-ui-task-009

Build the Personnummer Confirmation Widget that displays the user's personnummer in a partially masked format (e.g., XXX...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical low frontend Tier 3 🎨 frontend specialist
Personnummer Widget — privacy policy link and GDPR disclosure
epic-bankid-vipps-login-ui-task-010

Add a privacy policy link and GDPR data-sharing disclosure to the Personnummer Confirmation Widget. The disclosure must ...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical low frontend Tier 4 🎨 frontend specialist
VoiceOver and TalkBack announcements for all auth screens
epic-bankid-vipps-login-ui-task-011

Implement screen-reader live region announcements for all five authentication screens. Each screen state transition (loa...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical medium frontend Tier 5 🎨 frontend specialist
WCAG 2.2 AA audit and remediation for all five auth screens
epic-bankid-vipps-login-ui-task-013

Conduct a structured WCAG 2.2 AA audit across all five authentication UI components: Auth Method Selector, Vipps Auth Sc...

BankID & Vipps Login — Authentication UI Screens and User Flows · BankID and Vipps Login

critical medium testing Tier 7 🧪 testing specialist
Write unit tests for BenefitCalculationResult
epic-benefit-calculator-foundation-task-006

Write comprehensive unit tests for BenefitCalculationResult: verify all typed fields serialize and deserialize correctly...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

high low testing Tier 1 🧪 testing specialist
Write unit tests for BenefitMultiplierConfigRepository
epic-benefit-calculator-foundation-task-007

Write unit tests for BenefitMultiplierConfigRepository covering: successful fetch from mocked Supabase client returns co...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

high low testing Tier 2 🧪 testing specialist
Write unit tests for ActivitySummaryAggregator
epic-benefit-calculator-foundation-task-008

Write unit tests for ActivitySummaryAggregator covering: correct aggregation of sessionCount and averageDurationMinutes ...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

high low testing Tier 2 🧪 testing specialist
Define BenefitCalculationResult model
epic-benefit-calculator-foundation-task-001

Create the immutable BenefitCalculationResult value object in Dart with typed fields for hourlyRateEquivalent, travelCos...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

critical low backend Tier 0 ⚙ backend specialist
Define BenefitMultiplierConfig model
epic-benefit-calculator-foundation-task-002

Create the BenefitMultiplierConfig data class representing organisation-specific multiplier parameters: hourlyRateEquiva...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

critical low backend Tier 0 ⚙ backend specialist
Implement BenefitMultiplierConfigRepository
epic-benefit-calculator-foundation-task-003

Build the BenefitMultiplierConfigRepository that fetches organisation-specific multiplier values from a Supabase table (...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

critical low backend Tier 1 ⚙ backend specialist
Implement ActivitySummaryAggregator service
epic-benefit-calculator-foundation-task-005

Build the ActivitySummaryAggregator service that queries completed activity records for the current peer mentor from Sup...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

critical low backend Tier 1 ⚙ backend specialist
Define ActivitySummary model and query interface
epic-benefit-calculator-foundation-task-004

Create the ActivitySummary data class with fields: sessionCount (int), averageDurationMinutes (double), totalDurationMin...

Benefit Calculator Data Foundation · Volunteer Benefit Calculator

critical low database Tier 0 🗄 database specialist
Write unit tests for BenefitCalculationService
epic-benefit-calculator-core-logic-task-004

Write exhaustive unit tests for BenefitCalculationService covering nominal inputs, zero values, fractional hours, large ...

Benefit Calculation Engine and State Management · Volunteer Benefit Calculator

high low testing Tier 3 🧪 testing specialist
Write unit tests for BenefitCalculatorBloc
epic-benefit-calculator-core-logic-task-007

Write bloc_test unit tests for BenefitCalculatorBloc covering: successful config load → correct initial state, InputChan...

Benefit Calculation Engine and State Management · Volunteer Benefit Calculator

high low testing Tier 4 🧪 testing specialist
Define BenefitCalculationResult model
epic-benefit-calculator-core-logic-task-001

Create the immutable BenefitCalculationResult data class that holds all computed output fields: hours_saved, travel_cost...

Benefit Calculation Engine and State Management · Volunteer Benefit Calculator

critical low backend Tier 0 ⚙ backend specialist
Implement BenefitMultiplierConfig repository
epic-benefit-calculator-core-logic-task-002

Implement the BenefitMultiplierConfigRepository that loads organisation-specific multiplier configuration (hourly value ...

Benefit Calculation Engine and State Management · Volunteer Benefit Calculator

critical low backend Tier 1 ⚙ backend specialist
Implement BenefitCalculationService pure functions
epic-benefit-calculator-core-logic-task-003

Implement BenefitCalculationService as a stateless class with a single calculate(ActivityInput input, BenefitMultiplierC...

Benefit Calculation Engine and State Management · Volunteer Benefit Calculator

critical low backend Tier 2 ⚙ backend specialist
Define BenefitCalculatorBloc events and states
epic-benefit-calculator-core-logic-task-005

Define the BLoC events (InputChanged, ResetRequested, ShareRequested) and states (BenefitCalculatorInitial, BenefitCalcu...

Benefit Calculation Engine and State Management · Volunteer Benefit Calculator

critical low infrastructure Tier 1 ⚙ backend specialist
Implement BenefitCalculatorBloc event handlers
epic-benefit-calculator-core-logic-task-006

Implement the BenefitCalculatorBloc class. On init, call BenefitMultiplierConfigRepository.fetchConfig() and emit a load...

Benefit Calculation Engine and State Management · Volunteer Benefit Calculator

critical low infrastructure Tier 3 ⚙ backend specialist
Implement BenefitMultiplierConfigRepository
epic-benefit-calculator-ui-and-share-task-001

Create the data layer repository that loads and caches benefit multiplier configuration values (e.g., societal value per...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low backend Tier 0 ⚙ backend specialist
Define BenefitCalculationResultModel
epic-benefit-calculator-ui-and-share-task-002

Define the immutable Dart data model that holds the output of a benefit calculation: personal metrics (hours volunteered...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low backend Tier 0 ⚙ backend specialist
Implement ActivitySummaryAggregator service
epic-benefit-calculator-ui-and-share-task-003

Build the service that queries the local database for a peer mentor's activity records and aggregates them into session ...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low backend Tier 1 ⚙ backend specialist
Implement BenefitCalculationService
epic-benefit-calculator-ui-and-share-task-006

Create the pure business-logic service that accepts session count and duration inputs alongside multiplier config values...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low backend Tier 1 ⚙ backend specialist
Build CalculatorInputPanel widget
epic-benefit-calculator-ui-and-share-task-004

Implement the Flutter widget that renders labelled numeric input fields with stepper controls for session count and sess...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low frontend Tier 0 🎨 frontend specialist
Build BenefitMetricTile widget
epic-benefit-calculator-ui-and-share-task-005

Implement the reusable accessible tile Flutter widget that renders a single benefit metric with icon, formatted numeric ...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low frontend Tier 0 🎨 frontend specialist
Build BenefitResultsCard widget
epic-benefit-calculator-ui-and-share-task-008

Implement the visually rich Wrapped-style Flutter card widget that displays personal and societal benefit metrics using ...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high medium frontend Tier 2 🎨 frontend specialist
Build BenefitCalculatorScreen layout
epic-benefit-calculator-ui-and-share-task-010

Compose the main BenefitCalculatorScreen as a single scrollable view that integrates CalculatorInputPanel at the top, li...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high medium frontend Tier 4 🎨 frontend specialist
Implement BenefitCalculatorBLoC
epic-benefit-calculator-ui-and-share-task-007

Build the BLoC that manages calculator screen state: handles input change events from CalculatorInputPanel, calls Benefi...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low infrastructure Tier 2 ⚙ backend specialist
Implement BenefitShareService
epic-benefit-calculator-ui-and-share-task-009

Build the service that captures the BenefitResultsCard RepaintBoundary as a PNG image and invokes the native platform sh...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high low integration Tier 3 🔗 integration specialist
Write unit and widget tests for calculator feature
epic-benefit-calculator-ui-and-share-task-012

Write a comprehensive test suite covering: unit tests for BenefitCalculationService formula correctness and edge cases (...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

high medium testing Tier 6 🧪 testing specialist
Implement WCAG 2.2 AA accessibility layer
epic-benefit-calculator-ui-and-share-task-011

Apply full WCAG 2.2 AA compliance across all five components: add live region announcements on calculation completion so...

Benefit Calculator UI Components and Share Flow · Volunteer Benefit Calculator

critical medium frontend Tier 5 🎨 frontend specialist
Document secure storage and local auth integration APIs
epic-biometric-session-authentication-foundation-task-012

Write inline Dart documentation for all public methods and classes in SecureSessionStorage and LocalAuthIntegration. Cre...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

medium low documentation Tier 4 📝 documentor
Register SecureSessionStorage as Riverpod provider
epic-biometric-session-authentication-foundation-task-008

Create a Riverpod provider (preferably a Provider or StateNotifierProvider) for SecureSessionStorage so that dependent c...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

high low backend Tier 3 ⚙ backend specialist
Register LocalAuthIntegration as Riverpod provider
epic-biometric-session-authentication-foundation-task-009

Create a Riverpod provider for LocalAuthIntegration following the same conventions used for SecureSessionStorage in task...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

high low backend Tier 3 ⚙ backend specialist
Write unit tests for SecureSessionStorage
epic-biometric-session-authentication-foundation-task-010

Write flutter_test unit tests for SecureSessionStorage using a mocked FlutterSecureStorage. Cover: writeSession persists...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

high medium testing Tier 3 🧪 testing specialist
Write unit tests for LocalAuthIntegration
epic-biometric-session-authentication-foundation-task-011

Write flutter_test unit tests for LocalAuthIntegration using a mocked LocalAuthentication. Cover: isAvailable returns fa...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

high medium testing Tier 3 🧪 testing specialist
Define typed domain models for secure storage
epic-biometric-session-authentication-foundation-task-004

Create a Dart file defining the SecureStorageKey enum (sessionToken, sessionExpiry, biometricEnabled, userId, refreshTok...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

critical low backend Tier 1 ⚙ backend specialist
Implement SecureSessionStorage encrypted read/write/clear
epic-biometric-session-authentication-foundation-task-005

Implement the SecureSessionStorage class wrapping FlutterSecureStorage. Expose typed async methods: writeSession(StoredS...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

critical medium backend Tier 2 ⚙ backend specialist
Define LocalAuthException domain error codes
epic-biometric-session-authentication-foundation-task-006

Create a sealed class or enum hierarchy for LocalAuthFailure domain codes: notAvailable, notEnrolled, lockedOut, permane...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

critical low backend Tier 1 ⚙ backend specialist
Implement LocalAuthIntegration platform adapter
epic-biometric-session-authentication-foundation-task-007

Implement the LocalAuthIntegration class wrapping the local_auth LocalAuthentication instance. Expose: isAvailable() ret...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

critical medium backend Tier 2 ⚙ backend specialist
Add flutter_secure_storage and local_auth dependencies
epic-biometric-session-authentication-foundation-task-001

Add flutter_secure_storage and local_auth packages to pubspec.yaml. Pin to versions compatible with the project's Flutte...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

critical low infrastructure Tier 0 🏗 infrastructure specialist
Configure iOS platform permissions for biometrics
epic-biometric-session-authentication-foundation-task-002

Add NSFaceIDUsageDescription to iOS Info.plist with a clear user-facing rationale string. Verify Keychain entitlements a...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

critical low infrastructure Tier 1 🏗 infrastructure specialist
Configure Android platform permissions for biometrics
epic-biometric-session-authentication-foundation-task-003

Add USE_BIOMETRIC and USE_FINGERPRINT permissions to AndroidManifest.xml. Ensure minSdkVersion is compatible with the Bi...

Secure Storage and Platform Abstraction Foundation · Biometric Session Authentication

critical low infrastructure Tier 1 🏗 infrastructure specialist
Implement offline biometric auth with deferred network checks
epic-biometric-session-authentication-core-services-task-008

Implement offline session validation logic in BiometricAuthService that defers Supabase network calls when connectivity ...

Biometric Authentication Core Services · Biometric Session Authentication

high high backend Tier 7 ⚙ backend specialist
Implement step-up auth for sensitive screens
epic-biometric-session-authentication-core-services-task-009

Implement the step-up authentication API on BiometricAuthService that allows sensitive screens (such as encrypted contac...

Biometric Authentication Core Services · Biometric Session Authentication

high medium backend Tier 6 ⚙ backend specialist
Implement sign out and auth state clearing
epic-biometric-session-authentication-core-services-task-014

Implement the signOut() method in SupabaseSessionManager that calls Supabase Auth signOut, clears all cached session tok...

Biometric Authentication Core Services · Biometric Session Authentication

high medium backend Tier 3 ⚙ backend specialist
Implement Riverpod session state propagation
epic-biometric-session-authentication-core-services-task-015

Implement the sessionStateStream in SupabaseSessionManager and wire it to Riverpod providers so that session state chang...

Biometric Authentication Core Services · Biometric Session Authentication

high medium backend Tier 4 ⚙ backend specialist
Integrate BiometricAuthService with auth repository
epic-biometric-session-authentication-core-services-task-007

Wire BiometricAuthService into the existing auth repository layer so that successful biometric authentication updates th...

Biometric Authentication Core Services · Biometric Session Authentication

high medium integration Tier 6 🔗 integration specialist
Unit tests for BiometricAuthService and Bloc
epic-biometric-session-authentication-core-services-task-010

Write unit tests covering all BiometricAuthService methods and BiometricAuthBloc state transitions. Tests cover: device ...

Biometric Authentication Core Services · Biometric Session Authentication

high high testing Tier 7 🧪 testing specialist
Integration tests for full biometric auth flow on both platforms
epic-biometric-session-authentication-core-services-task-016

Write integration tests using flutter_test that cover the complete authentication flow end-to-end: biometric verificatio...

Biometric Authentication Core Services · Biometric Session Authentication

high high testing Tier 8 🧪 testing specialist
Define BiometricAuthResult domain types
epic-biometric-session-authentication-core-services-task-001

Create typed domain result objects for all biometric authentication outcomes: BiometricAuthSuccess, BiometricAuthFailure...

Biometric Authentication Core Services · Biometric Session Authentication

critical low backend Tier 0 ⚙ backend specialist
Implement device biometric capability check
epic-biometric-session-authentication-core-services-task-002

Implement the device capability detection logic within BiometricAuthService that queries LocalAuthIntegration to determi...

Biometric Authentication Core Services · Biometric Session Authentication

critical low backend Tier 1 ⚙ backend specialist
Implement authentication outcome handling logic
epic-biometric-session-authentication-core-services-task-004

Implement the outcome routing logic in BiometricAuthService that maps raw LocalAuth results to typed BiometricAuthResult...

Biometric Authentication Core Services · Biometric Session Authentication

critical medium backend Tier 3 ⚙ backend specialist
Implement BiometricAuthBloc state machine
epic-biometric-session-authentication-core-services-task-006

Implement the Bloc/Cubit state machine that models the complete biometric authentication flow with states: idle, prompti...

Biometric Authentication Core Services · Biometric Session Authentication

critical high backend Tier 5 ⚙ backend specialist
Define SupabaseSessionManager contract interface
epic-biometric-session-authentication-core-services-task-011

Define the abstract interface (contract) for SupabaseSessionManager that specifies the shared session lifecycle API used...

Biometric Authentication Core Services · Biometric Session Authentication

critical low backend Tier 0 ⚙ backend specialist
Implement proactive access token refresh logic
epic-biometric-session-authentication-core-services-task-012

Implement the proactive token refresh mechanism in SupabaseSessionManager that monitors session token expiry and refresh...

Biometric Authentication Core Services · Biometric Session Authentication

critical medium backend Tier 1 ⚙ backend specialist
Implement native biometric dialog invocation
epic-biometric-session-authentication-core-services-task-003

Implement the core method in BiometricAuthService that invokes the native biometric authentication dialog via LocalAuthI...

Biometric Authentication Core Services · Biometric Session Authentication

critical medium integration Tier 2 🔗 integration specialist
Integrate Supabase session token refresh on biometric success
epic-biometric-session-authentication-core-services-task-005

Implement the Supabase session token refresh step within BiometricAuthService that executes immediately after a successf...

Biometric Authentication Core Services · Biometric Session Authentication

critical medium integration Tier 4 🔗 integration specialist
Implement Supabase Auth session validation
epic-biometric-session-authentication-core-services-task-013

Implement the validateCurrentSession() method in SupabaseSessionManager that validates the current session against Supab...

Biometric Authentication Core Services · Biometric Session Authentication

critical medium integration Tier 2 🔗 integration specialist
Add debounce logic for foreground/background transitions
epic-biometric-session-authentication-ui-and-lifecycle-task-002

Implement a debounce mechanism within SessionResumeManager to prevent duplicate biometric prompts when the app rapidly t...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high low backend Tier 1 ⚙ backend specialist
Implement credential revocation flow when biometrics disabled
epic-biometric-session-authentication-ui-and-lifecycle-task-011

Implement the revocation flow triggered when the user disables biometrics via the settings toggle. This must clear all s...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high medium backend Tier 2 ⚙ backend specialist
Add VoiceOver/TalkBack semantics to BiometricPromptOverlay
epic-biometric-session-authentication-ui-and-lifecycle-task-006

Annotate all interactive and informational elements in BiometricPromptOverlay with Semantics widgets. Set meaningful lab...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high low frontend Tier 1 🎨 frontend specialist
Build BiometricUnavailableBanner widget with dynamic terminology
epic-biometric-session-authentication-ui-and-lifecycle-task-007

Implement BiometricUnavailableBanner as an inline banner/modal widget that uses the organisation's dynamic terminology s...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high low frontend Tier 0 🎨 frontend specialist
Add OS settings deep link and credential login fallback to BiometricUnavailableBanner
epic-biometric-session-authentication-ui-and-lifecycle-task-008

Implement the one-tap deep link in BiometricUnavailableBanner that opens the OS biometric settings screen (using url_lau...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high low frontend Tier 1 🎨 frontend specialist
Implement biometric opt-in onboarding prompt after first login
epic-biometric-session-authentication-ui-and-lifecycle-task-009

Create the one-time onboarding prompt displayed after a user's first successful credential login, offering them the opti...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high medium frontend Tier 2 🎨 frontend specialist
Implement biometric toggle in app settings
epic-biometric-session-authentication-ui-and-lifecycle-task-010

Add a biometric authentication toggle switch to the app settings screen. When toggled on, trigger the opt-in flow; when ...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high low frontend Tier 2 🎨 frontend specialist
Write widget tests for BiometricPromptOverlay and BiometricUnavailableBanner
epic-biometric-session-authentication-ui-and-lifecycle-task-012

Write flutter_test widget tests covering: BiometricPromptOverlay rendering with correct logo and prompt text, successful...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high medium testing Tier 2 🧪 testing specialist
Write unit tests for SessionResumeManager lifecycle and routing logic
epic-biometric-session-authentication-ui-and-lifecycle-task-013

Write unit tests for SessionResumeManager covering: lifecycle observer registration and teardown, debounce prevents dupl...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high medium testing Tier 3 🧪 testing specialist
End-to-end integration test: full biometric session resume flow
epic-biometric-session-authentication-ui-and-lifecycle-task-014

Write an integration test that exercises the complete biometric session resume flow end-to-end: user logs in with creden...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

high high testing Tier 4 🧪 testing specialist
Implement AppLifecycleState observer in SessionResumeManager
epic-biometric-session-authentication-ui-and-lifecycle-task-001

Register SessionResumeManager as a WidgetsBindingObserver and implement the didChangeAppLifecycleState callback to detec...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

critical medium backend Tier 0 ⚙ backend specialist
Implement session validation and routing in SessionResumeManager
epic-biometric-session-authentication-ui-and-lifecycle-task-003

Read the stored session from SecureSessionStorage on resume, validate expiry timestamp, and route to the appropriate scr...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

critical medium backend Tier 1 ⚙ backend specialist
Build BiometricPromptOverlay full-screen widget structure
epic-biometric-session-authentication-ui-and-lifecycle-task-004

Create the BiometricPromptOverlay as a full-screen Flutter widget using design tokens exclusively (zero inline styles). ...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

critical medium frontend Tier 0 🎨 frontend specialist
Integrate BiometricAuthService into BiometricPromptOverlay
epic-biometric-session-authentication-ui-and-lifecycle-task-005

Wire the native biometric dialog trigger into BiometricPromptOverlay by calling BiometricAuthService on widget mount (in...

Session Lifecycle Orchestration and UI Layer · Biometric Session Authentication

critical medium integration Tier 1 🔗 integration specialist
Implement ActivityCategoryMappingConfig Dart Class
epic-bufdir-data-aggregation-foundation-task-006

Implement the ActivityCategoryMappingConfig Dart class that reads the bufdir_category_mappings table, exposes a lookup m...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

high low backend Tier 1 ⚙ backend specialist
Add is_proxy_registered Column to Activities Table
epic-bufdir-data-aggregation-foundation-task-005

Write the PostgreSQL migration that adds the is_proxy_registered boolean column (default false) to the activities table....

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

high low database Tier 2 🗄 database specialist
Implement Multi-Org Data Isolator Dart Service
epic-bufdir-data-aggregation-foundation-task-003

Implement the MultiOrgDataIsolator Dart class that sets the app.current_org_id session variable on every Supabase reques...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical medium backend Tier 2 ⚙ backend specialist
Implement SupabaseAggregationRpc Dart Client
epic-bufdir-data-aggregation-foundation-task-008

Implement the SupabaseAggregationRpc Dart class that wraps the generate_bufdir_report Supabase RPC call with typed param...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical medium backend Tier 4 ⚙ backend specialist
Design RLS Policy Schema for Multi-Tenant Isolation
epic-bufdir-data-aggregation-foundation-task-001

Design and document the Row Level Security policy schema for strict per-organization data isolation. Define the org_id p...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical high database Tier 0 🗄 database specialist
Write PostgreSQL Migration for RLS Policies
epic-bufdir-data-aggregation-foundation-task-002

Implement the PostgreSQL migration file that creates and enables Row Level Security policies on all relevant tables (act...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical high database Tier 1 🗄 database specialist
Create bufdir_category_mappings Table Migration
epic-bufdir-data-aggregation-foundation-task-004

Write the PostgreSQL migration that creates the bufdir_category_mappings table. The table maps internal activity type ID...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical medium database Tier 0 🗄 database specialist
Implement generate_bufdir_report RPC Function
epic-bufdir-data-aggregation-foundation-task-007

Write the PostgreSQL server-side generate_bufdir_report(p_org_id UUID, p_period_start DATE, p_period_end DATE, p_mapping...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical high database Tier 3 🗄 database specialist
Deploy Migrations and Validate in Staging Environment
epic-bufdir-data-aggregation-foundation-task-010

Deploy all database migrations (RLS policies, bufdir_category_mappings table, is_proxy_registered column, generate_bufdi...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical medium deployment Tier 6 🚀 devops specialist
Write Integration Tests for RLS and RPC Pipeline
epic-bufdir-data-aggregation-foundation-task-009

Write integration tests that verify the complete multi-tenant isolation and aggregation pipeline. Tests must confirm: (1...

Multi-Tenant Infrastructure & Database Foundation · Bufdir Data Aggregation

critical high testing Tier 5 🧪 testing specialist
Implement Supabase view query wrappers
epic-bufdir-data-aggregation-data-layer-task-004

Add typed query builder methods for Supabase view-based queries (as opposed to RPC calls): raw activity records, raw eve...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

high medium backend Tier 3 ⚙ backend specialist
Implement metric snapshot persistence and cache
epic-bufdir-data-aggregation-data-layer-task-007

Implement the write and cache operations in the Bufdir Metrics Repository: saveMetricSnapshot (persist computed aggregat...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

high medium database Tier 5 🗄 database specialist
Integration test against Supabase staging environment
epic-bufdir-data-aggregation-data-layer-task-009

Write integration tests that execute the Aggregation Query Builder and Bufdir Metrics Repository methods against a real ...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

high high integration Tier 7 🔗 integration specialist
Write unit tests for query builder and repository
epic-bufdir-data-aggregation-data-layer-task-008

Write comprehensive unit tests for the Aggregation Query Builder and Bufdir Metrics Repository using flutter_test and mo...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

high medium testing Tier 6 🧪 testing specialist
Define Dart model classes for aggregation data
epic-bufdir-data-aggregation-data-layer-task-001

Create strongly typed Dart model classes for all aggregation-related data structures: activity records, event records, c...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

critical medium backend Tier 0 ⚙ backend specialist
Implement organization isolation filter logic
epic-bufdir-data-aggregation-data-layer-task-002

Build the org-isolation filter layer inside the Aggregation Query Builder that automatically appends organization_id con...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

critical medium backend Tier 1 ⚙ backend specialist
Implement parameterized RPC call wrappers
epic-bufdir-data-aggregation-data-layer-task-003

Implement typed Dart function signatures in the Aggregation Query Builder that wrap each Supabase RPC function call (act...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

critical high backend Tier 2 ⚙ backend specialist
Define abstract repository interface for metrics
epic-bufdir-data-aggregation-data-layer-task-005

Define the abstract Dart interface (abstract class) for the Bufdir Metrics Repository. The interface must declare all me...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

critical low backend Tier 1 ⚙ backend specialist
Implement metrics repository read operations
epic-bufdir-data-aggregation-data-layer-task-006

Implement the concrete Bufdir Metrics Repository class for all read operations: delegating fetchRawActivities, fetchRawE...

Aggregation Query Builder & Metrics Repository · Bufdir Data Aggregation

critical medium backend Tier 4 ⚙ backend specialist
Implement historical period lookup and re-aggregation support
epic-bufdir-data-aggregation-core-logic-task-003

Add historical period lookup methods to ReportingPeriodService: getPeriodById(), listHistoricalPeriods(), getPeriodByDat...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

high medium backend Tier 2 ⚙ backend specialist
Test ReportingPeriodService boundary filtering and lookups
epic-bufdir-data-aggregation-core-logic-task-004

Write unit and integration tests for ReportingPeriodService covering: period boundary edge cases (midnight UTC vs local)...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

high medium testing Tier 3 🧪 testing specialist
Test GeographicDistributionService with full NHF hierarchy
epic-bufdir-data-aggregation-core-logic-task-012

Write integration tests for GeographicDistributionService using a seeded test database reflecting NHF's 1,400-chapter st...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

high high testing Tier 4 🧪 testing specialist
Define ReportingPeriod domain model and boundary types
epic-bufdir-data-aggregation-core-logic-task-001

Create the ReportingPeriod domain model with start/end date boundaries, period type enum (monthly, quarterly, annual, cu...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical low backend Tier 0 ⚙ backend specialist
Implement ReportingPeriodService core period definition
epic-bufdir-data-aggregation-core-logic-task-002

Implement the core ReportingPeriodService with period definition methods: createPeriod(), getActivePeriod(), listAvailab...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical medium backend Tier 1 ⚙ backend specialist
Implement proxy registration deduplication algorithm
epic-bufdir-data-aggregation-core-logic-task-005

Implement the core deduplication algorithm in ParticipantDeduplicationService that identifies participants double-counte...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high backend Tier 0 ⚙ backend specialist
Implement multi-chapter affiliation deduplication logic
epic-bufdir-data-aggregation-core-logic-task-006

Extend ParticipantDeduplicationService to handle NHF members belonging to up to 5 local chapters simultaneously. Impleme...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high backend Tier 1 ⚙ backend specialist
Implement unique participant count computation per Bufdir category
epic-bufdir-data-aggregation-core-logic-task-007

Implement the final deduplication output stage: getUniqueParticipantCount(period, bufdirCategory, orgId) method that ret...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high backend Tier 2 ⚙ backend specialist
Implement NHF org hierarchy traversal for geographic distribution
epic-bufdir-data-aggregation-core-logic-task-009

Implement org hierarchy traversal in GeographicDistributionService that walks NHF's 3-tier structure (12 national associ...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high backend Tier 0 ⚙ backend specialist
Implement region and chapter activity breakdown computation
epic-bufdir-data-aggregation-core-logic-task-010

Implement the core geographic breakdown computation in GeographicDistributionService: getRegionBreakdown(period, orgId) ...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high backend Tier 1 ⚙ backend specialist
Implement cross-chapter member deduplication in geographic distribution
epic-bufdir-data-aggregation-core-logic-task-011

Extend GeographicDistributionService to prevent double-counting members active in multiple chapters within the same regi...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high backend Tier 3 ⚙ backend specialist
Implement BufdirAggregationService pipeline orchestration
epic-bufdir-data-aggregation-core-logic-task-013

Implement the BufdirAggregationService (Tier 4) orchestrator that coordinates the full aggregation pipeline: invoke Repo...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high backend Tier 5 ⚙ backend specialist
Implement Bufdir category mapping application in aggregation
epic-bufdir-data-aggregation-core-logic-task-014

Integrate activity category mapping into BufdirAggregationService: translate internal activity type IDs to Bufdir-requir...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical medium backend Tier 6 ⚙ backend specialist
Implement final metrics payload assembly and audit metadata
epic-bufdir-data-aggregation-core-logic-task-015

Implement the final output stage of BufdirAggregationService: assembleMetricsPayload(period, orgId) that structures dedu...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical medium backend Tier 7 ⚙ backend specialist
Test ParticipantDeduplicationService with multi-org scenarios
epic-bufdir-data-aggregation-core-logic-task-008

Write comprehensive tests for ParticipantDeduplicationService: proxy double-counting scenarios, 5-chapter member scenari...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high testing Tier 3 🧪 testing specialist
Integration test full aggregation pipeline end-to-end
epic-bufdir-data-aggregation-core-logic-task-016

Write end-to-end integration tests for the complete BufdirAggregationService pipeline using realistic seeded data: multi...

Core Aggregation Business Logic Services · Bufdir Data Aggregation

critical high testing Tier 8 🧪 testing specialist
Widget tests for progress indicator and summary widget
epic-bufdir-data-aggregation-ui-task-008

Write flutter_test widget tests covering: AggregationProgressIndicator renders correct stage highlights for each BLoC st...

Aggregation User Interface Components · Bufdir Data Aggregation

medium medium testing Tier 5 🧪 testing specialist
Implement pipeline stage progress indicator widget
epic-bufdir-data-aggregation-ui-task-002

Build the AggregationProgressIndicator Flutter widget that renders the four-stage pipeline (fetching → categorising → de...

Aggregation User Interface Components · Bufdir Data Aggregation

high medium frontend Tier 1 🎨 frontend specialist
Add deduplication warning banner and retry UI
epic-bufdir-data-aggregation-ui-task-003

Extend AggregationProgressIndicator with a dismissible warning banner that surfaces when the BLoC emits AggregationWarni...

Aggregation User Interface Components · Bufdir Data Aggregation

high low frontend Tier 2 🎨 frontend specialist
Build aggregation summary metrics data model
epic-bufdir-data-aggregation-ui-task-004

Define the AggregationSummaryData model that the AggregationSummaryWidget will render: participant counts (total, dedupl...

Aggregation User Interface Components · Bufdir Data Aggregation

high low frontend Tier 1 🎨 frontend specialist
Implement AggregationSummaryWidget core layout
epic-bufdir-data-aggregation-ui-task-005

Build the read-only AggregationSummaryWidget Flutter widget with sections for: participant count card, activity hours by...

Aggregation User Interface Components · Bufdir Data Aggregation

high medium frontend Tier 2 🎨 frontend specialist
Add unmapped activity warnings to summary widget
epic-bufdir-data-aggregation-ui-task-006

Extend AggregationSummaryWidget with a warning section that lists activity types that could not be mapped to a Bufdir ca...

Aggregation User Interface Components · Bufdir Data Aggregation

high low frontend Tier 3 🎨 frontend specialist
WCAG 2.2 AA accessibility audit for both components
epic-bufdir-data-aggregation-ui-task-007

Audit both AggregationProgressIndicator and AggregationSummaryWidget against WCAG 2.2 AA requirements: verify contrast r...

Aggregation User Interface Components · Bufdir Data Aggregation

high medium testing Tier 4 🧪 testing specialist
Define AggregationState BLoC contracts
epic-bufdir-data-aggregation-ui-task-001

Define the BLoC state classes and events that both UI components will consume: AggregationInitial, AggregationInProgress...

Aggregation User Interface Components · Bufdir Data Aggregation

critical medium frontend Tier 0 🎨 frontend specialist
Implement ExportStorageBucket Flutter client adapter
epic-bufdir-report-export-foundation-task-004

Build the Dart service class that wraps Supabase Storage operations for the bufdir-exports bucket. Implement uploadRepor...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high low backend Tier 1 ⚙ backend specialist
Build ExportPeriodPicker stateless UI widget
epic-bufdir-report-export-foundation-task-009

Implement the export period picker as a stateless Flutter widget that presents predefined period presets (Q1, Q2, Q3, Q4...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high low frontend Tier 0 🎨 frontend specialist
Build ExportConfirmationDialog stateless UI widget
epic-bufdir-report-export-foundation-task-010

Implement the export confirmation dialog as a stateless Flutter widget that displays a summary of the export parameters ...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high low frontend Tier 0 🎨 frontend specialist
Build ExportProgressIndicator stateless UI widget
epic-bufdir-report-export-foundation-task-011

Implement the export progress indicator as a stateless Flutter widget showing step-by-step export progress: querying dat...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high low frontend Tier 0 🎨 frontend specialist
Implement FileDownloadHandler for native device save/share
epic-bufdir-report-export-foundation-task-008

Build the file download handler that retrieves a signed URL from export storage and triggers the native device save/shar...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high low infrastructure Tier 2 🏗 infrastructure specialist
Unit test GeneratedReportsRepository
epic-bufdir-report-export-foundation-task-012

Write unit tests for GeneratedReportsRepository covering: successful audit record creation, status update on completion ...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high low testing Tier 2 🧪 testing specialist
Unit test ExportDataQueryBuilder join correctness
epic-bufdir-report-export-foundation-task-013

Write unit tests for ExportDataQueryBuilder with fixture datasets covering: single-chapter scope, multi-level hierarchy ...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high medium testing Tier 1 🧪 testing specialist
Unit test BufdirCategoryMapper against activity_type_configuration
epic-bufdir-report-export-foundation-task-015

Write unit tests for BufdirCategoryMapper covering: successful mapping of all known activity types to their Bufdir codes...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high low testing Tier 1 🧪 testing specialist
Integration test export storage bucket RLS policies
epic-bufdir-report-export-foundation-task-016

Write integration tests against the real Supabase test environment verifying: coordinator can upload and download files ...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

high medium testing Tier 2 🧪 testing specialist
Implement GeneratedReportsRepository class
epic-bufdir-report-export-foundation-task-002

Build the Dart repository class that wraps all CRUD operations for the generated_reports table. Implement methods: creat...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical low backend Tier 1 ⚙ backend specialist
Build ExportDataQueryBuilder with multi-table join logic
epic-bufdir-report-export-foundation-task-005

Implement the query builder service that encapsulates all complex join logic needed for Bufdir export data. Queries must...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical high backend Tier 0 ⚙ backend specialist
Implement OrgHierarchyResolver scope expansion service
epic-bufdir-report-export-foundation-task-006

Build the organisation hierarchy resolver that, given a coordinator's scope ID (chapter, region, or national level), exp...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical medium backend Tier 0 ⚙ backend specialist
Implement BufdirCategoryMapper driven by activity_type_configuration
epic-bufdir-report-export-foundation-task-007

Build the category mapper service that translates internal activity types to the official Bufdir category codes, reading...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical medium backend Tier 0 ⚙ backend specialist
Create generated_reports database schema and migration
epic-bufdir-report-export-foundation-task-001

Design and implement the generated_reports audit table in Supabase with columns for report_id, org_id, generated_by, per...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical low database Tier 0 🗄 database specialist
Provision Supabase Storage bucket with org-scoped RLS
epic-bufdir-report-export-foundation-task-003

Create the bufdir-exports Supabase Storage bucket. Configure org-scoped access policies so that files stored at path {or...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical low infrastructure Tier 0 🏗 infrastructure specialist
Unit test OrgHierarchyResolver with NHF 3-level hierarchy
epic-bufdir-report-export-foundation-task-014

Write unit tests for OrgHierarchyResolver covering: national-level scope expanding to all 1400 leaf IDs, region-level sc...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical medium testing Tier 1 🧪 testing specialist
Integration test ExportDataQueryBuilder with live data
epic-bufdir-report-export-foundation-task-017

Run integration tests for ExportDataQueryBuilder against the Supabase test database seeded with realistic activity data ...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical medium testing Tier 1 🧪 testing specialist
Tier 0 data layer integration and green-light verification
epic-bufdir-report-export-foundation-task-018

Perform end-to-end integration verification of all Tier 0 components together: GeneratedReportsRepository creates an aud...

Bufdir Export Foundation — Data Layer and Infrastructure · Bufdir Report Export

critical medium testing Tier 3 🧪 testing specialist
Implement Re-download Signed URL Generation in Edge Function
epic-bufdir-report-export-core-backend-task-015

Add a secondary endpoint or query parameter to the edge function that accepts an export_id and returns a fresh signed do...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

medium low api Tier 7 🔌 api specialist
Document Bufdir Export API Contract and Serializer Spec
epic-bufdir-report-export-core-backend-task-018

Write technical documentation for the Bufdir export edge function API: request/response schemas, supported scope levels,...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

medium low documentation Tier 10 📝 documentor
Build Export History List UI Component
epic-bufdir-report-export-core-backend-task-016

Implement the export history list Flutter widget that reads from the generated_reports repository and displays past expo...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

medium low frontend Tier 8 🎨 frontend specialist
Implement Duplicate Registration Detection in Aggregation
epic-bufdir-report-export-core-backend-task-004

Add duplicate detection logic to the aggregation service that identifies activities where the same peer mentor registere...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

high medium backend Tier 2 ⚙ backend specialist
Implement Bufdir Payload Validation and Error Reporting
epic-bufdir-report-export-core-backend-task-007

Add a validation pass to the Bufdir format serializer that checks the produced payload against Bufdir submission rules: ...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

high medium backend Tier 4 ⚙ backend specialist
Build CSV Generation Service from Bufdir Payload
epic-bufdir-report-export-core-backend-task-008

Implement the CSV generation service that consumes the canonical Bufdir JSON payload and produces a UTF-8 CSV file confo...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

high low backend Tier 4 ⚙ backend specialist
Build PDF Generation Service Layout and Template
epic-bufdir-report-export-core-backend-task-009

Implement the PDF generation service using a server-side PDF library (pdf package or equivalent) to produce a structured...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

high medium backend Tier 4 ⚙ backend specialist
Implement PDF Data Binding from Bufdir Payload
epic-bufdir-report-export-core-backend-task-010

Wire the Bufdir canonical payload data into the PDF template: populate peer mentor rows, category breakdowns, totals, or...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

high medium backend Tier 5 ⚙ backend specialist
Implement Generated Reports Repository
epic-bufdir-report-export-core-backend-task-014

Implement the generated_reports repository layer that persists export history records to the Supabase database. Each rec...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

high medium database Tier 2 🗄 database specialist
Integration Testing for Export Pipeline End-to-End
epic-bufdir-report-export-core-backend-task-017

Write integration tests covering the full export pipeline: seed test activity data for a multi-chapter org, call the edg...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

high high testing Tier 9 🧪 testing specialist
Define Bufdir Payload Schema and TypeScript Interfaces
epic-bufdir-report-export-core-backend-task-001

Define the canonical Bufdir JSON payload TypeScript interfaces and Dart models that represent the intermediate represent...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical medium backend Tier 0 ⚙ backend specialist
Implement Org Hierarchy Roll-Up for Region and National Scopes
epic-bufdir-report-export-core-backend-task-003

Extend the activity aggregation service to support region and national scope_level values. When scope is region, aggrega...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical high backend Tier 2 ⚙ backend specialist
Build Bufdir Category Mapper Integration in Serializer
epic-bufdir-report-export-core-backend-task-005

Implement the Bufdir format serializer's category mapping layer that translates internal activity_type values to the can...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical medium backend Tier 1 ⚙ backend specialist
Implement Bufdir Format Serializer Core Transformation
epic-bufdir-report-export-core-backend-task-006

Build the main transformation function in the Bufdir format serializer that converts the raw aggregation output into the...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical high backend Tier 3 ⚙ backend specialist
Wire Aggregation and Serialization Pipeline into Edge Function
epic-bufdir-report-export-core-backend-task-012

Integrate the activity aggregation service and Bufdir format serializer into the edge function processing pipeline. For ...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical high backend Tier 5 ⚙ backend specialist
Wire CSV and PDF Generation into Edge Function Finalize Mode
epic-bufdir-report-export-core-backend-task-013

Implement the finalize export path in the edge function that runs aggregation, serialization, then invokes either the CS...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical high backend Tier 6 ⚙ backend specialist
Implement Single-Org Activity Aggregation Query
epic-bufdir-report-export-core-backend-task-002

Implement the core Supabase query in the activity aggregation service that fetches all activity records for a given org_...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical high database Tier 1 🗄 database specialist
Scaffold Bufdir Export Edge Function with Request Parsing
epic-bufdir-report-export-core-backend-task-011

Create the Supabase Edge Function entry point for Bufdir export. Implement request parsing and validation for the input ...

Bufdir Export Core Backend — Aggregation, Serialization, and File Generation · Bufdir Report Export

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Implement preview flow — no audit record finalised
epic-bufdir-report-export-orchestration-task-006

Implement requestPreview() in BufdirExportService. This path invokes the edge function with a preview flag, routes the r...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

high medium backend Tier 3 ⚙ backend specialist
Implement file generator routing in BufdirExportService
epic-bufdir-report-export-orchestration-task-008

Implement the internal routing logic that inspects the edge function response and the requested ExportFormat to dispatch...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

high medium backend Tier 4 ⚙ backend specialist
Wire ExportScopeSelector into the export screen state
epic-bufdir-report-export-orchestration-task-009

Connect the ExportScopeSelector widget to the export screen's Riverpod provider so that scope selection updates are refl...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

high medium frontend Tier 3 🎨 frontend specialist
Integration tests for orchestration layer end-to-end
epic-bufdir-report-export-orchestration-task-010

Write integration tests covering the full export orchestration flow: (1) scope selector renders only permitted scopes fo...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

high high testing Tier 5 🧪 testing specialist
Implement OrgHierarchyAccessResolver for scope eligibility
epic-bufdir-report-export-orchestration-task-002

Implement the access-resolution logic that queries the authenticated user's role and org-unit membership to determine wh...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

critical medium backend Tier 1 ⚙ backend specialist
Define BufdirExportService interface and request/response models
epic-bufdir-report-export-orchestration-task-004

Define the abstract BufdirExportService interface with two primary methods: requestPreview(scope, period) and requestFin...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

critical medium backend Tier 1 ⚙ backend specialist
Implement full export flow with audit record persistence
epic-bufdir-report-export-orchestration-task-007

Implement requestFinalExport() in BufdirExportService. Invoke the edge function, route the response to the correct file ...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

critical high backend Tier 3 ⚙ backend specialist
Define ExportScope models and Riverpod state
epic-bufdir-report-export-orchestration-task-001

Define the ExportScope enum (local_chapter, region, national), the ExportScopeState class, and the Riverpod StateNotifie...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

critical low frontend Tier 0 🎨 frontend specialist
Build ExportScopeSelector widget with reactive state
epic-bufdir-report-export-orchestration-task-003

Implement the ExportScopeSelector Flutter widget that consumes the Riverpod provider from task-001 and the permitted-sco...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

critical medium frontend Tier 2 🎨 frontend specialist
Implement edge function invocation in BufdirExportService
epic-bufdir-report-export-orchestration-task-005

Implement the HTTP call from BufdirExportService to the Bufdir export edge function. Pass scope, period, and format para...

Bufdir Export Orchestration — Client Service and Scope Selection · Bufdir Report Export

critical high integration Tier 2 🔗 integration specialist
Display scope and period metadata section in preview panel
epic-bufdir-report-export-user-interface-task-004

Add a metadata header section inside ExportPreviewPanel that displays the selected organisational scope (organisation na...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

high low frontend Tier 3 🎨 frontend specialist
Implement unmapped activity and missing data warning section
epic-bufdir-report-export-user-interface-task-005

Within ExportPreviewPanel, render a collapsible warning section that lists unmapped activity types (types present in the...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

high medium frontend Tier 3 🎨 frontend specialist
Implement export readiness status display in export screen
epic-bufdir-report-export-user-interface-task-011

Add an ExportReadinessBanner widget at the top of BufdirExportScreen that computes and displays overall export readiness...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

high low frontend Tier 4 🎨 frontend specialist
End-to-end widget and integration tests for export UI flow
epic-bufdir-report-export-user-interface-task-012

Write flutter_test widget tests and integration tests covering the full user journey from opening BufdirExportScreen to ...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

high high testing Tier 5 🧪 testing specialist
Export Preview Panel state model and Cubit
epic-bufdir-report-export-user-interface-task-001

Define the ExportPreviewState data model covering aggregated activity counts per Bufdir category, scope metadata, period...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium frontend Tier 0 🎨 frontend specialist
Render Bufdir category aggregation table in preview panel
epic-bufdir-report-export-user-interface-task-003

Build the ExportPreviewPanel Flutter widget that renders a scrollable table of Bufdir activity categories, showing categ...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium frontend Tier 2 🎨 frontend specialist
Scaffold BufdirExportScreen layout and navigation phases
epic-bufdir-report-export-user-interface-task-007

Create the BufdirExportScreen as a StatefulWidget that owns a multi-phase navigation state machine with three phases: Co...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium frontend Tier 0 🎨 frontend specialist
Integrate ExportScopeSelector and ExportPeriodPicker into export screen
epic-bufdir-report-export-user-interface-task-008

Embed the ExportScopeSelector and ExportPeriodPicker widgets into BufdirExportScreen's Configuration phase. Wire their o...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium frontend Tier 1 🎨 frontend specialist
Integrate ExportPreviewPanel into export screen Preview phase
epic-bufdir-report-export-user-interface-task-009

Mount the ExportPreviewPanel inside BufdirExportScreen's Preview phase. When the user navigates from Configuration to Pr...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium frontend Tier 3 🎨 frontend specialist
Integrate ExportConfirmationDialog and ExportProgressIndicator into execution phase
epic-bufdir-report-export-user-interface-task-010

In BufdirExportScreen's Execution phase, show the ExportConfirmationDialog when the user taps 'Confirm Export'. On confi...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium frontend Tier 4 🎨 frontend specialist
Wire preview panel to BufdirExportService
epic-bufdir-report-export-user-interface-task-002

Connect ExportPreviewCubit to BufdirExportService.fetchPreview(), passing the selected organisational scope and reportin...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium integration Tier 1 🔗 integration specialist
WCAG 2.2 AA accessibility audit for export preview panel
epic-bufdir-report-export-user-interface-task-006

Audit the completed ExportPreviewPanel widget against WCAG 2.2 AA criteria: ensure all interactive and informational ele...

Bufdir Export User Interface — Preview Panel and Main Export Screen · Bufdir Report Export

critical medium testing Tier 4 🧪 testing specialist
Implement org-level submission mode feature flag
epic-bufdir-report-export-api-integration-task-006

Add a submission_mode configuration field (values: file_based, direct_api) to the org-level feature flag system. The buf...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

medium medium backend Tier 1 ⚙ backend specialist
Persist Bufdir reference number in generated_reports
epic-bufdir-report-export-api-integration-task-005

After successful API submission, store the Bufdir-issued reference number in the generated_reports audit record. Add the...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

medium low database Tier 3 🗄 database specialist
Secure API credential storage and rotation
epic-bufdir-report-export-api-integration-task-008

Implement secure storage and rotation of Bufdir API credentials within the bufdir-api-client. Credentials must be stored...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

medium medium infrastructure Tier 2 🏗 infrastructure specialist
Document API client integration and migration guide
epic-bufdir-report-export-api-integration-task-010

Write technical documentation for the bufdir-api-client covering: the shared interface contract between file-based and A...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

low low documentation Tier 5 📝 documentor
Implement Bufdir API authentication handler
epic-bufdir-report-export-api-integration-task-002

Implement authentication with Bufdir's API inside the bufdir-api-client. Support OAuth2 client-credentials flow and API-...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

high high api Tier 1 🔌 api specialist
Implement HTTP submission and response handling
epic-bufdir-report-export-api-integration-task-004

Build the HTTP submission layer in the bufdir-api-client: POST to the Bufdir API endpoint, parse the confirmation respon...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

high high api Tier 2 🔌 api specialist
Define Bufdir API client interface contract
epic-bufdir-report-export-api-integration-task-001

Design and document the abstract interface for the bufdir-api-client that is shared with the file-based export path. Def...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

high medium backend Tier 0 ⚙ backend specialist
Map internal payload to Bufdir API request schema
epic-bufdir-report-export-api-integration-task-003

Implement the request mapper inside the bufdir-api-client that translates the canonical internal Bufdir JSON payload (pr...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

high high backend Tier 1 ⚙ backend specialist
Integrate API client into export service routing
epic-bufdir-report-export-api-integration-task-007

Wire the bufdir-api-client into the bufdir-export-service submission routing. When submission_mode is direct_api, call b...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

high medium integration Tier 3 🔗 integration specialist
Unit and integration tests for API client
epic-bufdir-report-export-api-integration-task-009

Write comprehensive tests for the bufdir-api-client: unit tests for the request mapper covering all required and optiona...

Bufdir Export Phase 3 — Direct API Integration Client · Bufdir Report Export

high high testing Tier 4 🧪 testing specialist
Document data foundation API and RLS policy contracts
epic-bufdir-report-history-foundation-task-010

Write developer documentation covering: the bufdir_report_history table schema with column descriptions and constraints,...

Report History Data Foundation · Bufdir Report History & Audit Log

medium low documentation Tier 5 📝 documentor
Unit test ReportHistoryRepository with mock Supabase client
epic-bufdir-report-history-foundation-task-008

Write unit tests for ReportHistoryRepository using Mockito-generated mocks for the Supabase client. Cover: successful pa...

Report History Data Foundation · Bufdir Report History & Audit Log

high low testing Tier 3 🧪 testing specialist
Unit test ReportFileStorageClient upload and signed URL
epic-bufdir-report-history-foundation-task-009

Write unit tests for ReportFileStorageClient covering: uploadReportFile constructs organization-scoped path correctly, u...

Report History Data Foundation · Bufdir Report History & Audit Log

high low testing Tier 4 🧪 testing specialist
Implement ReportHistoryRepository Dart class
epic-bufdir-report-history-foundation-task-004

Create the ReportHistoryRepository class in Dart using the Supabase Flutter client. Implement methods: fetchReportHistor...

Report History Data Foundation · Bufdir Report History & Audit Log

critical low backend Tier 2 ⚙ backend specialist
Define ReportHistoryRecord domain model and freezed types
epic-bufdir-report-history-foundation-task-005

Define the ReportHistoryRecord immutable data class using freezed in Dart. Include all fields matching the database sche...

Report History Data Foundation · Bufdir Report History & Audit Log

critical low backend Tier 1 ⚙ backend specialist
Implement ReportFileStorageClient for upload and download
epic-bufdir-report-history-foundation-task-006

Create the ReportFileStorageClient class wrapping Supabase Storage operations. Implement uploadReportFile(organizationId...

Report History Data Foundation · Bufdir Report History & Audit Log

critical low backend Tier 3 ⚙ backend specialist
Create bufdir_report_history database table schema
epic-bufdir-report-history-foundation-task-001

Design and implement the Supabase PostgreSQL migration for the bufdir_report_history table. Include columns for id, orga...

Report History Data Foundation · Bufdir Report History & Audit Log

critical low database Tier 0 🗄 database specialist
Implement RLS policies for report history table
epic-bufdir-report-history-foundation-task-002

Write and apply Row Level Security policies on the bufdir_report_history table enforcing multi-tenant organization scopi...

Report History Data Foundation · Bufdir Report History & Audit Log

critical medium database Tier 1 🗄 database specialist
Configure Supabase Storage bucket for report files
epic-bufdir-report-history-foundation-task-003

Create the bufdir-reports Supabase Storage bucket with a 5-year retention policy. Configure bucket-level RLS so that onl...

Report History Data Foundation · Bufdir Report History & Audit Log

critical low infrastructure Tier 2 🏗 infrastructure specialist
Write RLS policy integration tests via Supabase test client
epic-bufdir-report-history-foundation-task-007

Write integration tests that verify the RLS policies are correctly enforced. Tests must cover: (1) coordinator from org ...

Report History Data Foundation · Bufdir Report History & Audit Log

critical medium testing Tier 2 ⚙ backend specialist
Add date range and reporting period filtering
epic-bufdir-report-history-services-task-004

Extend ReportHistoryService fetch methods to accept optional date range (start/end) and reporting period filter paramete...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

medium low backend Tier 1 ⚙ backend specialist
Enforce coordinator and admin role access checks
epic-bufdir-report-history-services-task-002

Integrate the permission system into ReportHistoryService so that only users with coordinator or organization admin role...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

high low backend Tier 1 ⚙ backend specialist
Resolve signed download URLs via storage client
epic-bufdir-report-history-services-task-003

Add a method to ReportHistoryService that accepts a stored file reference from a history record and delegates to the rep...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

high low backend Tier 1 ⚙ backend specialist
Store new file reference and return signed URL
epic-bufdir-report-history-services-task-007

After successful re-export, have the ReportReexportCoordinator persist the newly generated file reference in the report ...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

high medium backend Tier 4 ⚙ backend specialist
Implement audit trail event logging for re-export actions
epic-bufdir-report-history-services-task-008

Add audit trail event logging to the ReportReexportCoordinator that records every re-export action as an immutable audit...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

high low backend Tier 5 ⚙ backend specialist
Unit and integration tests for service and coordinator
epic-bufdir-report-history-services-task-009

Write unit tests for all public methods in ReportHistoryService covering pagination, role enforcement, signed URL resolu...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

high medium testing Tier 6 🧪 testing specialist
Implement paginated history fetch with org scoping
epic-bufdir-report-history-services-task-001

Build the core fetch method in ReportHistoryService that retrieves paginated report history records scoped to the authen...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

critical medium backend Tier 0 ⚙ backend specialist
Build ReportReexportCoordinator period parameter loader
epic-bufdir-report-history-services-task-005

Implement the initial step of the ReportReexportCoordinator that loads the stored period parameters (date range, reporti...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

critical medium backend Tier 2 ⚙ backend specialist
Invoke Bufdir export pipeline for re-export
epic-bufdir-report-history-services-task-006

Wire the ReportReexportCoordinator to call the existing Bufdir export pipeline from the bufdir-report-export feature, pa...

Report History Business Logic & Re-export Services · Bufdir Report History & Audit Log

critical medium integration Tier 3 🔗 integration specialist
Apply design token system to all UI components
epic-bufdir-report-history-ui-task-008

Ensure all three components (ReportHistoryScreen, ReportHistoryListItem, ReportSummaryMetricsWidget) exclusively use the...

Report History User Interface · Bufdir Report History & Audit Log

medium low frontend Tier 3 🎨 frontend specialist
Write widget and integration tests for history UI
epic-bufdir-report-history-ui-task-009

Write flutter_test widget tests for ReportHistoryScreen, ReportHistoryListItem, and ReportSummaryMetricsWidget covering:...

Report History User Interface · Bufdir Report History & Audit Log

medium low testing Tier 5 🧪 testing specialist
Document report history UI components
epic-bufdir-report-history-ui-task-010

Write developer documentation for the three report history UI components covering: widget API (constructor parameters, r...

Report History User Interface · Bufdir Report History & Audit Log

low low documentation Tier 6 📝 documentor
Implement ReportSummaryMetricsWidget
epic-bufdir-report-history-ui-task-001

Build the ReportSummaryMetricsWidget Flutter widget that displays snapshot key figures captured at report generation tim...

Report History User Interface · Bufdir Report History & Audit Log

high low frontend Tier 0 🎨 frontend specialist
Implement ReportHistoryListItem widget
epic-bufdir-report-history-ui-task-002

Build the ReportHistoryListItem Flutter widget that renders a single past Bufdir report entry. It must display period ra...

Report History User Interface · Bufdir Report History & Audit Log

high low frontend Tier 1 🎨 frontend specialist
Build filter controls with session state persistence
epic-bufdir-report-history-ui-task-003

Implement the year, period type, and status filter controls for the report history screen. Filter state must persist for...

Report History User Interface · Bufdir Report History & Audit Log

high low frontend Tier 0 🎨 frontend specialist
Implement ReportHistoryScreen scaffold and pagination
epic-bufdir-report-history-ui-task-004

Build the ReportHistoryScreen Flutter widget as the main entry point for the report history feature. Implement a paginat...

Report History User Interface · Bufdir Report History & Audit Log

high low frontend Tier 2 🎨 frontend specialist
Wire state layer to ReportHistoryService
epic-bufdir-report-history-ui-task-005

Create the BLoC or Riverpod provider/notifier for the report history feature that manages paginated loading, filter stat...

Report History User Interface · Bufdir Report History & Audit Log

high low frontend Tier 3 🎨 frontend specialist
Implement WCAG 2.2 AA accessibility across all components
epic-bufdir-report-history-ui-task-007

Audit and enforce WCAG 2.2 AA compliance across ReportHistoryScreen, ReportHistoryListItem, and ReportSummaryMetricsWidg...

Report History User Interface · Bufdir Report History & Audit Log

high low frontend Tier 3 🎨 frontend specialist
Connect re-export action buttons to coordinator
epic-bufdir-report-history-ui-task-006

Wire the re-export action buttons on ReportHistoryListItem to the ReportReexportCoordinator via the state layer. Tapping...

Report History User Interface · Bufdir Report History & Audit Log

high low integration Tier 4 🎨 frontend specialist
Build PeriodPresetList widget
epic-bufdir-report-period-selection-foundation-task-005

Implement a Flutter widget that displays a scrollable, selectable list of organisation-scoped period presets. Each list ...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

high low frontend Tier 2 🎨 frontend specialist
Build CustomDateRangePicker widget
epic-bufdir-report-period-selection-foundation-task-006

Implement an accessible Flutter date range picker widget that provides dual calendar controls for selecting start and en...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

high low frontend Tier 0 🎨 frontend specialist
Integration test: repository + widget data flow
epic-bufdir-report-period-selection-foundation-task-010

Write an integration test that exercises the full data path from Supabase through both repositories into the PeriodPrese...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

high low integration Tier 4 🧪 testing specialist
Write unit tests for repository layer
epic-bufdir-report-period-selection-foundation-task-007

Write unit tests for PeriodConfigurationRepository and BufdirAggregationRepository using flutter_test and Mockito stubs ...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

high low testing Tier 2 🧪 testing specialist
Write widget tests for UI primitives
epic-bufdir-report-period-selection-foundation-task-008

Write Flutter widget tests for PeriodPresetList and CustomDateRangePicker. Tests must verify: preset selection triggers ...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

high low testing Tier 3 🧪 testing specialist
WCAG 2.2 AA accessibility audit of widgets
epic-bufdir-report-period-selection-foundation-task-009

Perform a structured WCAG 2.2 AA accessibility audit on PeriodPresetList and CustomDateRangePicker. Verify contrast rati...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

high low testing Tier 3 🧪 testing specialist
Implement PeriodConfigurationRepository
epic-bufdir-report-period-selection-foundation-task-002

Build the Dart repository class that reads and writes period configuration presets to Supabase. Include offline caching ...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

critical low backend Tier 1 ⚙ backend specialist
Implement BufdirAggregationRepository
epic-bufdir-report-period-selection-foundation-task-004

Build the Dart repository class that wraps the Supabase aggregation RPC functions. Expose getActivityCountForPeriod(orgI...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

critical low backend Tier 1 ⚙ backend specialist
Define period configuration Supabase schema
epic-bufdir-report-period-selection-foundation-task-001

Create the Supabase database table and RLS policies for per-organisation period configuration presets. The table must st...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

critical low database Tier 0 🗄 database specialist
Create Bufdir aggregation query functions
epic-bufdir-report-period-selection-foundation-task-003

Implement Supabase RPC functions or materialized views that support range-based activity count queries against the activ...

Data Foundation & Reusable UI Primitives · Bufdir Report Period Selection

critical low database Tier 0 🗄 database specialist
Integration smoke test: services wired to real repositories
epic-bufdir-report-period-selection-services-task-009

Write integration-level smoke tests that wire PeriodPresetService, PeriodRecordCountService, and ReportPeriodValidator a...

Business Services & Validation Logic · Bufdir Report Period Selection

medium low testing Tier 6 🧪 testing specialist
Define PeriodPreset domain model and interfaces
epic-bufdir-report-period-selection-services-task-001

Create the PeriodPreset domain model class, the PeriodPresetIdentifier enum (e.g., currentCalendarYear, lastCalendarYear...

Business Services & Validation Logic · Bufdir Report Period Selection

high low backend Tier 0 ⚙ backend specialist
Implement PeriodPresetService with Riverpod provider
epic-bufdir-report-period-selection-services-task-002

Implement the PeriodPresetService class that reads org-specific preset configuration from the PeriodConfigurationReposit...

Business Services & Validation Logic · Bufdir Report Period Selection

high low backend Tier 1 ⚙ backend specialist
Implement PeriodRecordCountService with async Riverpod provider
epic-bufdir-report-period-selection-services-task-003

Implement PeriodRecordCountService that accepts a DateTimeRange and orgId, queries the BufdirAggregationRepository async...

Business Services & Validation Logic · Bufdir Report Period Selection

high low backend Tier 0 ⚙ backend specialist
Define ReportPeriodValidator interface and rule set
epic-bufdir-report-period-selection-services-task-004

Define the ReportPeriodValidator abstract interface with a validate(DateTimeRange range, String orgId) method returning ...

Business Services & Validation Logic · Bufdir Report Period Selection

high low backend Tier 1 ⚙ backend specialist
Implement calendar-month boundary and non-zero range rules
epic-bufdir-report-period-selection-services-task-005

Implement the first two validation rules inside ReportPeriodValidatorImpl: (1) verify that the range start is the first ...

Business Services & Validation Logic · Bufdir Report Period Selection

high low backend Tier 2 ⚙ backend specialist
Implement overlap detection rule against submitted reports
epic-bufdir-report-period-selection-services-task-006

Extend ReportPeriodValidatorImpl with the overlap detection rule: query PeriodConfigurationRepository for previously sub...

Business Services & Validation Logic · Bufdir Report Period Selection

high low backend Tier 3 ⚙ backend specialist
Register ReportPeriodValidator as Riverpod provider
epic-bufdir-report-period-selection-services-task-007

Wrap ReportPeriodValidatorImpl in a Riverpod Provider (reportPeriodValidatorProvider) with the PeriodConfigurationReposi...

Business Services & Validation Logic · Bufdir Report Period Selection

high low infrastructure Tier 4 🏗 infrastructure specialist
Unit test all three service layer components
epic-bufdir-report-period-selection-services-task-008

Write flutter_test unit tests for PeriodPresetService (preset resolution and DateTimeRange mapping for standard and cust...

Business Services & Validation Logic · Bufdir Report Period Selection

high low testing Tier 5 🧪 testing specialist
Build RecordCountBanner reactive widget
epic-bufdir-report-period-selection-ui-integration-task-005

Implement RecordCountBanner as a BlocBuilder widget that consumes PeriodSelectionBloc state. Display record count promin...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

high low frontend Tier 3 🎨 frontend specialist
Add WCAG 2.2 AA live region to RecordCountBanner
epic-bufdir-report-period-selection-ui-integration-task-006

Wrap RecordCountBanner content in a Semantics widget configured as a live region (liveRegion: true) so screen readers an...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

high low frontend Tier 4 🎨 frontend specialist
Implement gap-detection informational banner
epic-bufdir-report-period-selection-ui-integration-task-007

Within RecordCountBanner, add a secondary informational section that compares the selected period against the last submi...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

high low frontend Tier 5 🎨 frontend specialist
Unit and widget tests for BLoC and screen
epic-bufdir-report-period-selection-ui-integration-task-011

Write bloc_test unit tests for all PeriodSelectionBloc event handlers covering happy path, loading states, validation fa...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

high medium testing Tier 8 🧪 testing specialist
Implement PeriodSelectionBloc core state and events
epic-bufdir-report-period-selection-ui-integration-task-001

Define the PeriodSelectionBloc class with all state classes (PeriodSelectionInitial, PeriodSelectionLoading, PeriodSelec...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

critical medium frontend Tier 0 🎨 frontend specialist
Integrate preset loading into PeriodSelectionBloc
epic-bufdir-report-period-selection-ui-integration-task-002

Implement the LoadPresets event handler inside PeriodSelectionBloc to call PeriodPresetService, map results to PeriodPre...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

critical low frontend Tier 1 🎨 frontend specialist
Implement async record count fetching in BLoC
epic-bufdir-report-period-selection-ui-integration-task-003

Add the FetchRecordCount event handler to PeriodSelectionBloc. On each preset selection or custom range change, debounce...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

critical medium frontend Tier 2 🎨 frontend specialist
Integrate validation and confirmation emission in BLoC
epic-bufdir-report-period-selection-ui-integration-task-004

Implement the ConfirmPeriod event handler in PeriodSelectionBloc. Call ReportPeriodValidator with the selected DateTimeR...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

critical medium frontend Tier 3 🎨 frontend specialist
Scaffold PeriodSelectionScreen with role-based guard
epic-bufdir-report-period-selection-ui-integration-task-008

Create PeriodSelectionScreen as a StatelessWidget with a BlocProvider for PeriodSelectionBloc. Apply role-based access c...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

critical low frontend Tier 4 🎨 frontend specialist
Compose child widgets in PeriodSelectionScreen
epic-bufdir-report-period-selection-ui-integration-task-009

Assemble PeriodPresetList, CustomDateRangePicker, RecordCountBanner, and the confirm action button inside PeriodSelectio...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

critical low frontend Tier 6 🎨 frontend specialist
Handle navigation and confirmedReportPeriodProvider update
epic-bufdir-report-period-selection-ui-integration-task-010

Add a BlocListener in PeriodSelectionScreen that reacts to PeriodConfirmed state: write the confirmed DateTimeRange to R...

BLoC State Management & Period Selection Screen Assembly · Bufdir Report Period Selection

critical low frontend Tier 7 🎨 frontend specialist
Add local cache layer to BufdirPreviewRepository
epic-bufdir-report-preview-foundation-task-003

Extend BufdirPreviewRepository with an offline-capable local cache using Hive or shared_preferences so that after the fi...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

high medium backend Tier 2 ⚙ backend specialist
Implement prior-period comparison data fetching
epic-bufdir-report-preview-foundation-task-004

Add a second Riverpod stream to BufdirPreviewRepository that fetches the equivalent aggregated data for the prior report...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

high medium backend Tier 3 ⚙ backend specialist
Unit and integration tests for all three foundation components
epic-bufdir-report-preview-foundation-task-009

Write comprehensive tests covering: BufdirPreviewRepository stream emissions for loaded/error/cache-hit states using a m...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

high medium testing Tier 4 🧪 testing specialist
Implement BufdirPreviewRepository with Riverpod streams
epic-bufdir-report-preview-foundation-task-002

Build the full BufdirPreviewRepository class exposing reactive Riverpod StreamProvider streams for current-period report...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

critical medium backend Tier 1 ⚙ backend specialist
Define Bufdir form section and field ordering constants
epic-bufdir-report-preview-foundation-task-005

In BufdirReportStructureMapper, declare the canonical ordered list of all Bufdir form sections (e.g., demographic catego...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

critical low backend Tier 0 ⚙ backend specialist
Map internal activity category IDs to Bufdir field labels
epic-bufdir-report-preview-foundation-task-006

Implement the mapping table in BufdirReportStructureMapper that converts the app's internal activity category IDs (as st...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

critical medium backend Tier 1 ⚙ backend specialist
Implement empty field explicit representation in structure mapper
epic-bufdir-report-preview-foundation-task-007

Extend BufdirReportStructureMapper so that when the aggregated data has no value for a required field, the field is stil...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

critical medium backend Tier 2 ⚙ backend specialist
Define Supabase query layer for aggregated report data
epic-bufdir-report-preview-foundation-task-001

Design and implement the Supabase query methods inside BufdirPreviewRepository that fetch aggregated activity data for a...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

critical medium database Tier 0 🗄 database specialist
Implement WCAG 2.2 AA color tokens and semantic label builders
epic-bufdir-report-preview-foundation-task-008

Build BufdirAccessibilityUtils with three capabilities: (1) a set of WCAG 2.2 AA compliant color tokens (foreground/back...

Bufdir Preview Foundation: Data Layer and Structure Mapping · Bufdir Report Preview

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Implement anomaly detection rule evaluator
epic-bufdir-report-preview-core-logic-task-004

Implement the anomaly detection rule class. For each numeric field, compare the current period value to the prior-period...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

high medium backend Tier 1 ⚙ backend specialist
Implement session state management in PreviewService
epic-bufdir-report-preview-core-logic-task-009

Extend BufdirPreviewService with session state: store the most recently assembled BufdirPreviewModel (selected period, a...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

high medium backend Tier 4 ⚙ backend specialist
Unit test BufdirFieldValidationService
epic-bufdir-report-preview-core-logic-task-006

Write comprehensive unit tests for all three rule classes and the orchestration method using flutter_test. Cover: empty ...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

high medium testing Tier 3 🧪 testing specialist
Integration test BufdirPreviewService end-to-end
epic-bufdir-report-preview-core-logic-task-010

Write integration tests for the full preview assembly pipeline using flutter_test with mocked repository and mapper depe...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

high medium testing Tier 5 🧪 testing specialist
Define ValidationIssue model and rule interfaces
epic-bufdir-report-preview-core-logic-task-001

Create the core Dart data models for the validation layer: ValidationIssue (with severity enum: error/warning/info, fiel...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

critical low backend Tier 0 ⚙ backend specialist
Implement completeness rule evaluator
epic-bufdir-report-preview-core-logic-task-002

Implement the completeness rule class within BufdirFieldValidationService. For each required field in a BufdirReportSect...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

critical medium backend Tier 1 ⚙ backend specialist
Implement threshold compliance rule evaluator
epic-bufdir-report-preview-core-logic-task-003

Implement the threshold compliance rule class. For numeric fields that have a Bufdir-defined minimum value (configured v...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

critical medium backend Tier 1 ⚙ backend specialist
Implement validation orchestration and issue prioritization
epic-bufdir-report-preview-core-logic-task-005

Wire all three rule evaluators (completeness, threshold, anomaly) into the main BufdirFieldValidationService.validate() ...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

critical medium backend Tier 2 ⚙ backend specialist
Define BufdirPreviewModel with embedded validation
epic-bufdir-report-preview-core-logic-task-007

Define the BufdirPreviewModel Dart class that the preview service produces and the UI consumes. It must contain: the sec...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

critical low backend Tier 1 ⚙ backend specialist
Implement BufdirPreviewService preview assembly
epic-bufdir-report-preview-core-logic-task-008

Implement BufdirPreviewService.assemblePreview(periodId, orgId). The method must: (1) fetch aggregated data via BufdirPr...

Bufdir Preview Core Logic: Validation Engine and Preview Orchestration · Bufdir Report Preview

critical high backend Tier 3 ⚙ backend specialist
Define validation summary banner data model and issue list model
epic-bufdir-report-preview-ui-components-task-006

Define BufdirValidationSummaryData model containing total error count, total warning count, and a list of BufdirValidati...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

high low frontend Tier 1 🎨 frontend specialist
Implement sticky BufdirValidationSummaryBanner with auto-hide
epic-bufdir-report-preview-ui-components-task-007

Build the BufdirValidationSummaryBanner as a sticky widget pinned at the top of the preview screen using a SliverPersist...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

high medium frontend Tier 2 🎨 frontend specialist
Implement filterable issue list panel in banner
epic-bufdir-report-preview-ui-components-task-008

Extend BufdirValidationSummaryBanner with an expandable issue list panel that slides down when the banner is tapped. The...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

high medium frontend Tier 3 🎨 frontend specialist
Add live-region screen reader announcements to banner
epic-bufdir-report-preview-ui-components-task-009

Integrate Flutter SemanticsService and live region semantics into BufdirValidationSummaryBanner so that when the validat...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

high medium frontend Tier 4 🎨 frontend specialist
Wire widgets to BufdirPreviewService decorated model
epic-bufdir-report-preview-ui-components-task-010

Connect all three widgets to the decorated preview model from BufdirPreviewService via Riverpod providers. BufdirReportS...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

high medium integration Tier 5 ⚡ fullstack developer
Write widget tests for all three UI components
epic-bufdir-report-preview-ui-components-task-011

Write flutter_test widget tests covering: BufdirFieldRowWidget rendering in all three validation states with correct ico...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

high medium testing Tier 6 🧪 testing specialist
Define field row data model and validation state enum
epic-bufdir-report-preview-ui-components-task-001

Define the Dart data model for BufdirFieldRowData including label, value, validationState enum (normal, warning, anomaly...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

critical low frontend Tier 0 🎨 frontend specialist
Implement BufdirFieldRowWidget base layout
epic-bufdir-report-preview-ui-components-task-002

Build the BufdirFieldRowWidget StatelessWidget with a two-column layout: left column shows the field label, right column...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

critical medium frontend Tier 1 🎨 frontend specialist
Add validation state icon and accessible tooltip to field row
epic-bufdir-report-preview-ui-components-task-003

Extend BufdirFieldRowWidget to display a validation state icon (warning triangle or anomaly indicator) using WCAG-compli...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

critical medium frontend Tier 2 🎨 frontend specialist
Define section data model with validation badge metadata
epic-bufdir-report-preview-ui-components-task-004

Define BufdirReportSectionData model containing section title, semantic heading level, list of BufdirFieldRowData items,...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

critical low frontend Tier 1 🎨 frontend specialist
Implement BufdirReportSectionWidget collapsible card
epic-bufdir-report-preview-ui-components-task-005

Build BufdirReportSectionWidget as a collapsible card (ExpansionTile or custom AnimatedContainer) that renders a semanti...

Bufdir Preview UI Components: Field Rows, Sections, and Validation Banner · Bufdir Report Preview

critical medium frontend Tier 3 🎨 frontend specialist
Build BufdirPeriodDiffView widget shell and toggle integration
epic-bufdir-report-preview-screen-and-diff-task-006

Create the BufdirPeriodDiffView StatefulWidget as an optional overlay panel. Implement the diff toggle button in BufdirP...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

medium medium frontend Tier 1 🎨 frontend specialist
Implement on-demand prior-period data loading
epic-bufdir-report-preview-screen-and-diff-task-007

Wire BufdirPeriodDiffView to BufdirPreviewRepository to load prior-period report data only when the diff panel is toggle...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

medium medium frontend Tier 2 🎨 frontend specialist
Render prior vs current field value comparison rows
epic-bufdir-report-preview-screen-and-diff-task-008

Inside BufdirPeriodDiffView, for each Bufdir field render a comparison row showing the prior-period value beside the cur...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

medium medium frontend Tier 3 🎨 frontend specialist
Implement configurable change threshold highlighting
epic-bufdir-report-preview-screen-and-diff-task-009

Add threshold-based visual highlighting to BufdirPeriodDiffView rows. Fields where the absolute percentage delta exceeds...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

medium medium frontend Tier 4 🎨 frontend specialist
Write widget tests for BufdirPeriodDiffView
epic-bufdir-report-preview-screen-and-diff-task-012

Write flutter_test widget tests covering: diff panel is hidden by default, toggle opens panel and triggers prior-period ...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

medium medium testing Tier 6 🧪 testing specialist
Integration test: end-to-end preview and diff flow
epic-bufdir-report-preview-screen-and-diff-task-013

Write an integration test that drives the full coordinator flow from period selection through preview to export: navigat...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

medium high testing Tier 7 🧪 testing specialist
Implement BufdirPreviewScreen scaffold and layout
epic-bufdir-report-preview-screen-and-diff-task-001

Create the top-level BufdirPreviewScreen StatefulWidget with full-screen layout, AppBar with header actions (export butt...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

high medium frontend Tier 0 🎨 frontend specialist
Integrate validation summary banner into preview screen
epic-bufdir-report-preview-screen-and-diff-task-002

Mount the BufdirValidationSummaryBanner at the top of BufdirPreviewScreen. Pass validation results from BufdirFieldValid...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

high medium frontend Tier 1 🎨 frontend specialist
Compose Bufdir report sections in official form order
epic-bufdir-report-preview-screen-and-diff-task-003

Use BufdirReportStructureMapper to retrieve the ordered list of Bufdir form sections and dynamically render BufdirReport...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

high medium frontend Tier 1 🎨 frontend specialist
Implement Export button with validation warning dialog
epic-bufdir-report-preview-screen-and-diff-task-004

Add an Export action button to the BufdirPreviewScreen AppBar. When pressed, check BufdirFieldValidationService for acti...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

high medium frontend Tier 2 🎨 frontend specialist
Apply WCAG 2.2 AA semantics to preview screen
epic-bufdir-report-preview-screen-and-diff-task-005

Audit BufdirPreviewScreen for WCAG 2.2 AA compliance: add Semantics wrappers to all interactive elements (export button,...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

high medium frontend Tier 3 🎨 frontend specialist
Add screen reader text descriptions for diff percentages
epic-bufdir-report-preview-screen-and-diff-task-010

Ensure BufdirPeriodDiffView provides text-based percentage descriptions for screen reader users instead of relying on co...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

high low frontend Tier 5 🎨 frontend specialist
Write widget tests for BufdirPreviewScreen
epic-bufdir-report-preview-screen-and-diff-task-011

Write flutter_test widget tests covering: initial load state renders loading indicator, loaded state renders validation ...

Bufdir Preview Screen Assembly and Period Comparison Diff View · Bufdir Report Preview

high medium testing Tier 4 🧪 testing specialist
Write integration tests for foundation layer
epic-bufdir-reporting-export-foundation-task-010

Write integration tests covering the three repository and storage classes against a Supabase test instance. Test cases m...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

high medium testing Tier 3 🧪 testing specialist
Build ExportAuditRepository Dart class
epic-bufdir-reporting-export-foundation-task-007

Implement the ExportAuditRepository class in Dart using Supabase client. Expose methods: insertAuditEntry(ExportAuditEnt...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium backend Tier 2 ⚙ backend specialist
Build BufdirSchemaConfigRepository Dart class
epic-bufdir-reporting-export-foundation-task-008

Implement the BufdirSchemaConfigRepository class in Dart. Expose methods: getActiveSchema(String orgId), getAllVersions(...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium backend Tier 2 ⚙ backend specialist
Build BufdirExportFileStorage Dart adapter
epic-bufdir-reporting-export-foundation-task-009

Implement the BufdirExportFileStorage adapter class in Dart wrapping Supabase Storage. Expose methods: uploadExportFile(...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium backend Tier 2 ⚙ backend specialist
Create bufdir_export_audit_log database table
epic-bufdir-reporting-export-foundation-task-001

Design and implement the bufdir_export_audit_log table with append-only semantics in Supabase. Define columns for export...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium database Tier 0 🗄 database specialist
Create bufdir_column_schema_config database table
epic-bufdir-reporting-export-foundation-task-002

Design and implement the bufdir_column_schema_config table to store per-organisation Bufdir column definitions with vers...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium database Tier 0 🗄 database specialist
Implement RLS policies for audit log table
epic-bufdir-reporting-export-foundation-task-004

Write and apply Row Level Security policies on bufdir_export_audit_log to enforce organisational data isolation. Policy ...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium database Tier 1 🗄 database specialist
Implement RLS policies for schema config table
epic-bufdir-reporting-export-foundation-task-005

Write and apply Row Level Security policies on bufdir_column_schema_config to enforce strict org-scoped access. Coordina...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium database Tier 1 🗄 database specialist
Configure Supabase Storage bucket for Bufdir exports
epic-bufdir-reporting-export-foundation-task-003

Create and configure a dedicated Supabase Storage bucket named 'bufdir-exports' with org-scoped path structure (/{org_id...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement Supabase Storage RLS for export bucket
epic-bufdir-reporting-export-foundation-task-006

Configure Storage access policies on the 'bufdir-exports' bucket so that users can only read and write files under their...

Bufdir Export Data Foundation & Storage Infrastructure · Bufdir Reporting & Export

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Define Bufdir API submission interface contract
epic-bufdir-reporting-export-processing-services-task-011

Define the abstract Dart interface for the BufdirApiIntegrationService including method signatures for submitting export...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

medium low documentation Tier 4 📝 documentor
Document service interfaces and integration contracts
epic-bufdir-reporting-export-processing-services-task-018

Write developer documentation for all five processing services covering: service interface definitions with parameter de...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

medium low documentation Tier 5 📝 documentor
Build CSV export variant with Bufdir field ordering
epic-bufdir-reporting-export-processing-services-task-005

Extend the BufdirExcelCsvGenerator with a CSV export path that produces a semicolon-delimited file with the same Bufdir-...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium backend Tier 2 ⚙ backend specialist
Implement PDF report generator with Bufdir template layout
epic-bufdir-reporting-export-processing-services-task-006

Build the BufdirPdfGenerator service that renders Bufdir's official report template layout as a PDF document. Implement ...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high high backend Tier 1 ⚙ backend specialist
Add Norwegian locale and character encoding support to PDF
epic-bufdir-reporting-export-processing-services-task-007

Configure the PDF generator with proper Norwegian locale support including correct date formatting (DD.MM.YYYY), currenc...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium backend Tier 2 ⚙ backend specialist
Build document attachment collector for activities
epic-bufdir-reporting-export-processing-services-task-008

Implement the BufdirAttachmentBundler's collection phase that queries the database for all document attachments linked t...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium backend Tier 1 ⚙ backend specialist
Implement ZIP archive packaging for attachment bundles
epic-bufdir-reporting-export-processing-services-task-009

Build the ZIP archive creation phase of the BufdirAttachmentBundler that packages all collected activity-linked document...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium infrastructure Tier 2 🏗 infrastructure specialist
Build Bufdir API integration service stub
epic-bufdir-reporting-export-processing-services-task-010

Implement the BufdirApiIntegrationService as an abstraction layer that encapsulates the file delivery mechanism. The stu...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium integration Tier 3 🔗 integration specialist
Write unit tests for Excel and CSV generators
epic-bufdir-reporting-export-processing-services-task-013

Write unit tests for the BufdirExcelCsvGenerator covering correct column mapping to Bufdir's required layout, Norwegian ...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium testing Tier 3 🧪 testing specialist
Write unit tests for PDF report generator
epic-bufdir-reporting-export-processing-services-task-014

Write unit tests for the BufdirPdfGenerator verifying correct page layout structure, presence of all required Bufdir tem...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium testing Tier 3 🧪 testing specialist
Write unit tests for attachment bundler ZIP packaging
epic-bufdir-reporting-export-processing-services-task-015

Write unit tests for the BufdirAttachmentBundler covering attachment collection from database, ZIP directory structure c...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium testing Tier 3 🧪 testing specialist
Performance test activity query with large datasets
epic-bufdir-reporting-export-processing-services-task-017

Implement performance tests for the BufdirActivityQueryService simulating organizations with large activity volumes (100...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

high medium testing Tier 5 🗄 database specialist
Implement Bufdir Activity Query Service core data access
epic-bufdir-reporting-export-processing-services-task-001

Build the core BufdirActivityQueryService that queries activities from the Supabase database with org-scoped filtering, ...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

critical high backend Tier 0 ⚙ backend specialist
Implement multi-chapter deduplication algorithm
epic-bufdir-reporting-export-processing-services-task-002

Extend the BufdirActivityQueryService with the multi-chapter deduplication algorithm that identifies and removes duplica...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

critical high backend Tier 1 ⚙ backend specialist
Build Excel file generator with Bufdir column formatting
epic-bufdir-reporting-export-processing-services-task-004

Implement the BufdirExcelCsvGenerator using a server-side Dart Excel library to produce .xlsx files conforming to Bufdir...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

critical high backend Tier 1 ⚙ backend specialist
Implement org-scoped RLS filtering for activity queries
epic-bufdir-reporting-export-processing-services-task-003

Add Row Level Security compatible filtering to the activity query service ensuring each organization can only access the...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

critical medium database Tier 1 🗄 database specialist
Write unit tests for activity query deduplication
epic-bufdir-reporting-export-processing-services-task-012

Write comprehensive unit tests for the BufdirActivityQueryService covering multi-chapter deduplication scenarios includi...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

critical medium testing Tier 2 🧪 testing specialist
Integration test: full export artifact generation pipeline
epic-bufdir-reporting-export-processing-services-task-016

Write integration tests that exercise the complete artifact generation pipeline end-to-end using a test Supabase instanc...

Bufdir Activity Query, File Generation & Attachment Bundling Services · Bufdir Reporting & Export

critical high testing Tier 4 ⚙ backend specialist
Document column mapping configuration guide
epic-bufdir-reporting-export-core-logic-task-014

Write developer documentation covering: the ColumnMappingConfig JSON structure, how to add a new organisation's column s...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

medium low documentation Tier 6 📝 documentor
Implement row validation in column mapper
epic-bufdir-reporting-export-core-logic-task-005

Add post-mapping validation logic to BufdirColumnMapper: check for required Bufdir columns, validate data types and valu...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

high medium backend Tier 2 ⚙ backend specialist
Attach file references and metadata to audit records
epic-bufdir-reporting-export-core-logic-task-007

Extend BufdirExportAuditService with attachFileRef method that records the storage path, MIME type, file size, and check...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

high medium backend Tier 2 ⚙ backend specialist
Implement partial failure handling in orchestrator
epic-bufdir-reporting-export-core-logic-task-009

Add structured error propagation to BufdirExportOrchestratorService: catch sub-service exceptions individually, classify...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

high medium backend Tier 4 ⚙ backend specialist
Wire Riverpod providers for all three components
epic-bufdir-reporting-export-core-logic-task-010

Create Riverpod providers for BufdirColumnMapper, BufdirExportAuditService, and BufdirExportOrchestratorService. Inject ...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

high low backend Tier 4 ⚙ backend specialist
Unit test column mapper with org-specific configs
epic-bufdir-reporting-export-core-logic-task-011

Write unit tests for BufdirColumnMapper covering: NHF, Blindeforbundet, and HLF column schema configs, null value policy...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

high medium testing Tier 3 🧪 testing specialist
Unit test export audit service state machine
epic-bufdir-reporting-export-core-logic-task-012

Write unit tests for BufdirExportAuditService covering: record creation with all required fields, valid and invalid stat...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

high low testing Tier 3 🧪 testing specialist
Define column mapper data models and interfaces
epic-bufdir-reporting-export-core-logic-task-001

Define the Dart data models and abstract interfaces for the Bufdir column mapper, including ColumnMappingConfig, MappedR...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

critical medium backend Tier 0 ⚙ backend specialist
Define audit service data models and interfaces
epic-bufdir-reporting-export-core-logic-task-002

Define Dart data models for the export audit service: ExportAuditRecord, ExportStatus enum (initiated, in_progress, comp...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

critical low backend Tier 0 ⚙ backend specialist
Define orchestrator interfaces and result types
epic-bufdir-reporting-export-core-logic-task-003

Define the ExportOrchestrator abstract interface, ExportRequest value object, ExportResult sealed class (ExportSuccess w...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

critical medium backend Tier 0 ⚙ backend specialist
Implement core column mapping engine
epic-bufdir-reporting-export-core-logic-task-004

Implement the BufdirColumnMapper service that reads per-organisation ColumnMappingConfig from the schema config reposito...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

critical high backend Tier 1 ⚙ backend specialist
Implement export audit record creation and updates
epic-bufdir-reporting-export-core-logic-task-006

Implement BufdirExportAuditService backed by the export audit repository. On export initiation, create an immutable audi...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

critical medium backend Tier 1 ⚙ backend specialist
Implement orchestrator step sequencing
epic-bufdir-reporting-export-core-logic-task-008

Implement BufdirExportOrchestratorService that coordinates the end-to-end export pipeline in order: (1) create audit rec...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

critical high backend Tier 3 ⚙ backend specialist
Integration test orchestrator happy path and failure modes
epic-bufdir-reporting-export-core-logic-task-013

Write integration tests for BufdirExportOrchestratorService using fakes for all sub-services. Test cases: successful end...

Column Mapping, Audit Service & Export Orchestration · Bufdir Reporting & Export

critical high testing Tier 5 🧪 testing specialist
Documentation — Bufdir Export UI Components
epic-bufdir-reporting-export-ui-task-014

Write developer documentation for all five export UI components covering: component responsibilities, BLoC/Riverpod inte...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

medium low documentation Tier 8 📝 documentor
Implement Re-download from Export History
epic-bufdir-reporting-export-ui-task-011

Add re-download capability to the export history list: tapping the Re-download button on a history item retrieves the si...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

medium medium integration Tier 2 🔗 integration specialist
Build BLoC State Layer for Export Trigger Screen
epic-bufdir-reporting-export-ui-task-005

Implement the ExportTriggerBloc/Cubit managing the states: idle, periodSelected, formatSelected, confirming, exporting (...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium backend Tier 2 ⚙ backend specialist
Build Export History List Data Layer
epic-bufdir-reporting-export-ui-task-009

Implement the Riverpod provider and repository interface for the export history list. The provider must query the Supaba...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium backend Tier 0 ⚙ backend specialist
Implement Period Selector Widget — Presets
epic-bufdir-reporting-export-ui-task-001

Build the BufdirPeriodSelectorWidget Flutter widget with preset shortcut buttons for quarter, half-year, and full-year r...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high low frontend Tier 0 🎨 frontend specialist
Implement Period Selector — Custom Date Range Picker
epic-bufdir-reporting-export-ui-task-002

Extend the BufdirPeriodSelectorWidget with a custom date-range picker fallback that opens a calendar dialog when the use...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium frontend Tier 1 🎨 frontend specialist
Implement Export Format Selector Widget
epic-bufdir-reporting-export-ui-task-003

Build the BufdirExportFormatSelector Flutter widget presenting Excel, CSV, and PDF options as selectable cards. Each car...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high low frontend Tier 0 🎨 frontend specialist
Implement Export Confirmation Dialog
epic-bufdir-reporting-export-ui-task-004

Build the BufdirExportConfirmationDialog showing export scope (organisation/chapter), selected period, estimated record ...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high low frontend Tier 1 🎨 frontend specialist
Build Export Trigger Screen UI Layout
epic-bufdir-reporting-export-ui-task-006

Assemble the BufdirExportTriggerScreen scaffold integrating BufdirPeriodSelectorWidget, BufdirExportFormatSelector, the ...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium frontend Tier 3 🎨 frontend specialist
Integrate Confirmation Dialog into Export Flow
epic-bufdir-reporting-export-ui-task-007

Wire BufdirExportConfirmationDialog into the ExportTriggerScreen so that tapping the export button dispatches a ConfirmE...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high low frontend Tier 4 🎨 frontend specialist
Implement Export Progress Indicator and Status Feedback
epic-bufdir-reporting-export-ui-task-008

Build the animated progress indicator widget displayed during active export, showing a percentage bar and status label (...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium frontend Tier 5 🎨 frontend specialist
Build Export History List UI — List Items and Pagination
epic-bufdir-reporting-export-ui-task-010

Implement the BufdirExportHistoryList screen with a paginated ListView.builder rendering ExportHistoryListItem widgets. ...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium frontend Tier 1 🎨 frontend specialist
WCAG 2.2 AA Accessibility Audit — All Export UI Screens
epic-bufdir-reporting-export-ui-task-012

Conduct a systematic WCAG 2.2 AA accessibility audit across all five export UI components: trigger screen, period select...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium testing Tier 6 🧪 testing specialist
Widget and Integration Tests for Export UI
epic-bufdir-reporting-export-ui-task-013

Write flutter_test widget tests covering: period selector preset and custom-range selection, format selector state trans...

Bufdir Export User Interface & Export History · Bufdir Reporting & Export

high medium testing Tier 7 🧪 testing specialist
Add Session-Scoped Cache to ProxyContactListProvider
epic-bulk-and-proxy-registration-foundation-task-005

Extend ProxyContactListProvider with a session-scoped in-memory cache so that the peer mentor roster is fetched from Sup...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

high low backend Tier 2 ⚙ backend specialist
Build ProxyAuditBadge Flutter Widget
epic-bulk-and-proxy-registration-foundation-task-006

Implement the ProxyAuditBadge as a stateless Flutter widget that accepts a recordedByUserId and an actorUserId. When the...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

high low frontend Tier 1 🎨 frontend specialist
Integrate ProxyAuditBadge Into Activity Card Components
epic-bulk-and-proxy-registration-foundation-task-007

Update all existing activity card and list-item widgets to conditionally render the ProxyAuditBadge by passing recorded_...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

high low frontend Tier 2 🎨 frontend specialist
Unit Tests for BatchInsertRpcAdapter
epic-bulk-and-proxy-registration-foundation-task-008

Write unit tests for the BatchInsertRpcAdapter using flutter_test and a mocked Supabase client. Cover: successful batch ...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

high medium testing Tier 3 🧪 testing specialist
Unit Tests for ProxyContactListProvider
epic-bulk-and-proxy-registration-foundation-task-009

Write unit tests for ProxyContactListProvider using flutter_test and Riverpod's ProviderContainer. Cover: initial fetch ...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

high low testing Tier 3 🧪 testing specialist
Widget Tests for ProxyAuditBadge and Integration Smoke Test
epic-bulk-and-proxy-registration-foundation-task-010

Write widget tests for ProxyAuditBadge using flutter_test: verify badge renders when IDs differ, verify nothing renders ...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

high medium testing Tier 4 🧪 testing specialist
Implement BatchInsertRpcAdapter Dart Class
epic-bulk-and-proxy-registration-foundation-task-003

Build the BatchInsertRpcAdapter infrastructure component in Dart that wraps the insert_bulk_activities Supabase RPC func...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

critical medium backend Tier 2 ⚙ backend specialist
Implement ProxyContactListProvider Riverpod Provider
epic-bulk-and-proxy-registration-foundation-task-004

Create the ProxyContactListProvider as a Riverpod AsyncNotifier that fetches the authenticated coordinator's assigned pe...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

critical low backend Tier 1 ⚙ backend specialist
DB Migration: Add recorded_by_user_id Column
epic-bulk-and-proxy-registration-foundation-task-001

Create and apply a Supabase database migration that adds the recorded_by_user_id UUID column (nullable, foreign key to a...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

critical medium database Tier 0 🗄 database specialist
Create insert_bulk_activities Supabase RPC Function
epic-bulk-and-proxy-registration-foundation-task-002

Implement the insert_bulk_activities PostgreSQL function as a Supabase RPC endpoint. The function must accept an array o...

Bulk & Proxy Registration: Foundation Infrastructure · Bulk & Proxy Registration

critical medium database Tier 1 🗄 database specialist
Proxy Mode Selector audit trail explanation UI
epic-bulk-and-proxy-registration-mentor-selection-task-002

Add the inline audit trail explanation copy to the Proxy Mode Selector Screen, clearly communicating to coordinators tha...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

high low frontend Tier 1 🎨 frontend specialist
Proxy Mode Selector navigation wiring and coordinator guard
epic-bulk-and-proxy-registration-mentor-selection-task-004

Wire the two mode card tap handlers to navigate into the single-proxy flow (Peer Mentor Single Selector) and the bulk fl...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

high low frontend Tier 3 🎨 frontend specialist
Multi-Select: select-all / deselect-all controls and count badge
epic-bulk-and-proxy-registration-mentor-selection-task-009

Add a select-all / deselect-all toggle control at the top of the Peer Mentor Multi-Select List. Implement a live selecte...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

high medium frontend Tier 5 🎨 frontend specialist
Integration testing for mode selector and mentor selection screens
epic-bulk-and-proxy-registration-mentor-selection-task-012

Write integration and widget tests covering the full mode entry and mentor selection flows: navigation from Proxy Mode S...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

high medium testing Tier 8 🧪 testing specialist
Proxy Mode Selector Screen scaffold and layout
epic-bulk-and-proxy-registration-mentor-selection-task-001

Implement the Proxy Mode Selector Screen shell with a two-option entry card layout — 'On behalf of one peer mentor' vs '...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical low frontend Tier 0 🎨 frontend specialist
Proxy Mode Selector WCAG 2.2 AA accessibility pass
epic-bulk-and-proxy-registration-mentor-selection-task-003

Apply full WCAG 2.2 AA compliance to the Proxy Mode Selector Screen: minimum 44×44 dp touch targets on mode cards, contr...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical low frontend Tier 2 🎨 frontend specialist
Peer Mentor Single Selector screen scaffold and contact list rendering
epic-bulk-and-proxy-registration-mentor-selection-task-005

Implement the Peer Mentor Single Selector screen that renders the coordinator's cached contact list from the Proxy Conta...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical low frontend Tier 4 🎨 frontend specialist
Peer Mentor Single Selector search and single-select enforcement
epic-bulk-and-proxy-registration-mentor-selection-task-006

Add a search bar to the Peer Mentor Single Selector that filters the contact list in real time using debounced local sea...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical low frontend Tier 5 🎨 frontend specialist
Peer Mentor Single Selector WCAG 2.2 AA compliance
epic-bulk-and-proxy-registration-mentor-selection-task-007

Apply WCAG 2.2 AA accessibility requirements to the Peer Mentor Single Selector: accessible touch targets (44×44 dp mini...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical low frontend Tier 6 🎨 frontend specialist
Peer Mentor Multi-Select screen scaffold and checkbox list rendering
epic-bulk-and-proxy-registration-mentor-selection-task-008

Implement the Peer Mentor Multi-Select List screen that renders the coordinator's cached contact list with checkboxes, e...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical medium frontend Tier 4 🎨 frontend specialist
Multi-Select search, minimum-one validation gate, and navigation
epic-bulk-and-proxy-registration-mentor-selection-task-010

Add a real-time search bar to the Peer Mentor Multi-Select List with debounced filtering that preserves already-selected...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical medium frontend Tier 6 🎨 frontend specialist
Multi-Select WCAG 2.2 AA accessibility compliance
epic-bulk-and-proxy-registration-mentor-selection-task-011

Apply WCAG 2.2 AA compliance to the Peer Mentor Multi-Select List: checkbox touch targets must meet the 44×44 dp minimum...

Bulk & Proxy Registration: Mode Entry & Mentor Selection UI · Bulk & Proxy Registration

critical medium frontend Tier 7 🎨 frontend specialist
Repository query: coordinator audit view methods
epic-bulk-and-proxy-registration-services-task-003

Add query methods to ProxyActivityRepository that filter by recorded_by_user_id so a coordinator can retrieve only the p...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high medium backend Tier 2 ⚙ backend specialist
Repository query: peer mentor statistics feed methods
epic-bulk-and-proxy-registration-services-task-004

Add query methods that aggregate activities by peer_mentor_id regardless of who recorded them, so peer mentor statistics...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high medium backend Tier 2 ⚙ backend specialist
ProxyDuplicateDetector: triple-key duplicate query
epic-bulk-and-proxy-registration-services-task-011

Implement the core query in ProxyDuplicateDetector that checks existing activity records for each candidate mentor on th...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high medium backend Tier 2 ⚙ backend specialist
ProxyDuplicateDetector: structured per-mentor warning output
epic-bulk-and-proxy-registration-services-task-012

Implement the result formatter in ProxyDuplicateDetector that maps raw duplicate query results into a List<MentorDuplica...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high low backend Tier 3 ⚙ backend specialist
Repository: batch-insert RPC adapter integration
epic-bulk-and-proxy-registration-services-task-005

Integrate the Batch Insert RPC Adapter into ProxyActivityRepository to support bulk proxy insertions. Implement insertBa...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high medium integration Tier 2 🔗 integration specialist
Unit tests: ProxyActivityRepository coverage
epic-bulk-and-proxy-registration-services-task-006

Write comprehensive unit tests for ProxyActivityRepository using flutter_test and mocked Supabase client. Cover: dual-id...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high medium testing Tier 3 🧪 testing specialist
Unit tests: ProxyRegistrationService coverage
epic-bulk-and-proxy-registration-services-task-010

Write unit tests for ProxyRegistrationService using flutter_test with mocked repository and duplicate detector. Test cas...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high medium testing Tier 5 🧪 testing specialist
Unit tests: ProxyDuplicateDetector coverage
epic-bulk-and-proxy-registration-services-task-013

Write unit tests for ProxyDuplicateDetector covering: exact triple-key match returns warning with correct fields, partia...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high medium testing Tier 4 🧪 testing specialist
Integration test: full proxy registration pipeline
epic-bulk-and-proxy-registration-services-task-014

Write integration tests against a Supabase test project that exercise the full pipeline: ProxyDuplicateDetector query → ...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

high high testing Tier 6 🧪 testing specialist
ProxyActivityRepository: extend base activity repository
epic-bulk-and-proxy-registration-services-task-002

Implement the ProxyActivityRepository Dart class that extends or wraps the existing ActivityRepository. Override the ins...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

critical medium backend Tier 1 ⚙ backend specialist
ProxyRegistrationService: coordinator permission validation
epic-bulk-and-proxy-registration-services-task-007

Implement the permission check layer in ProxyRegistrationService that verifies a coordinator is authorized to register a...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

critical medium backend Tier 2 ⚙ backend specialist
ProxyRegistrationService: dual-identity payload construction
epic-bulk-and-proxy-registration-services-task-008

Implement the payload builder in ProxyRegistrationService that assembles a ProxyActivityRecord from the coordinator's se...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

critical low backend Tier 3 ⚙ backend specialist
ProxyRegistrationService: single proxy activity creation flow
epic-bulk-and-proxy-registration-services-task-009

Wire together permission validation, payload construction, duplicate detection check, and repository persistence into th...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

critical medium backend Tier 4 ⚙ backend specialist
Database schema: proxy_activities table with dual-identity fields
epic-bulk-and-proxy-registration-services-task-001

Create the database migration that extends the activities table (or creates proxy_activities) to include the recorded_by...

Bulk & Proxy Registration: Data Access, Registration Services & Duplicate Detection · Bulk & Proxy Registration

critical medium database Tier 0 🗄 database specialist
Implement per-mentor error handling and result aggregation
epic-bulk-and-proxy-registration-bulk-ui-task-009

Build the result aggregation logic in BulkRegistrationService that collects individual success/failure outcomes from the...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

high medium backend Tier 3 ⚙ backend specialist
Add individual mentor removal from batch
epic-bulk-and-proxy-registration-bulk-ui-task-012

Implement the swipe-to-remove or explicit remove button on each mentor row in BulkConfirmationScreen, allowing coordinat...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

high medium frontend Tier 3 🎨 frontend specialist
Build bulk registration results feedback screen
epic-bulk-and-proxy-registration-bulk-ui-task-014

Implement the post-submission results view displayed after BulkRegistrationService completes. Show a summary card with t...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

high medium frontend Tier 5 🎨 frontend specialist
End-to-end test: proxy activity wizard flow
epic-bulk-and-proxy-registration-bulk-ui-task-015

Write integration tests for the complete proxy activity wizard flow: select proxy mode → select peer mentor → complete w...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

high medium testing Tier 5 🧪 testing specialist
End-to-end test: bulk registration confirmation flow
epic-bulk-and-proxy-registration-bulk-ui-task-016

Write integration tests covering the full bulk registration confirmation flow: activity template + mentor list → pre-che...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

high medium testing Tier 6 🧪 testing specialist
Define proxy wizard payload data models
epic-bulk-and-proxy-registration-bulk-ui-task-001

Define the ProxyActivityPayload data model that extends the standard activity payload with recorded_by_user_id (coordina...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical low backend Tier 0 ⚙ backend specialist
Define bulk registration service interface and models
epic-bulk-and-proxy-registration-bulk-ui-task-006

Define the BulkRegistrationService interface accepting a mentor ID list and a single activity template (ActivityTemplate...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical low backend Tier 0 ⚙ backend specialist
Integrate duplicate detection into bulk service
epic-bulk-and-proxy-registration-bulk-ui-task-007

Implement the duplicate detection integration step within BulkRegistrationService. For each mentor in the incoming list,...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical medium backend Tier 1 ⚙ backend specialist
Delegate to batch insert RPC adapter for atomic write
epic-bulk-and-proxy-registration-bulk-ui-task-008

Implement the delegation layer in BulkRegistrationService that passes the filtered (post-duplicate-check) mentor list an...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical high backend Tier 2 ⚙ backend specialist
Build persistent attribution banner widget
epic-bulk-and-proxy-registration-bulk-ui-task-002

Implement the 'Recording as: [Peer Mentor Name]' attribution banner widget that persists across all steps of the proxy a...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical low frontend Tier 1 🎨 frontend specialist
Adapt activity wizard routing for proxy mode
epic-bulk-and-proxy-registration-bulk-ui-task-003

Extend the existing activity wizard step router to support a proxy mode flag. When proxy mode is active, skip the peer m...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical medium frontend Tier 2 🎨 frontend specialist
Implement proxy wizard BLoC state management
epic-bulk-and-proxy-registration-bulk-ui-task-004

Build the ProxyActivityWizardCubit/BLoC that carries the selected peer_mentor_id and recorded_by_user_id through all wiz...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical medium frontend Tier 3 🎨 frontend specialist
Build bulk confirmation screen layout and activity summary
epic-bulk-and-proxy-registration-bulk-ui-task-010

Implement the BulkConfirmationScreen scaffold with a mandatory review gate. Render a non-dismissible activity summary ca...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical medium frontend Tier 1 🎨 frontend specialist
Render per-mentor duplicate warnings in confirmation screen
epic-bulk-and-proxy-registration-bulk-ui-task-011

Extend the mentor list rows in BulkConfirmationScreen to display per-mentor duplicate detection warnings received from t...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical medium frontend Tier 2 🎨 frontend specialist
Implement confirmation screen BLoC and service dispatch
epic-bulk-and-proxy-registration-bulk-ui-task-013

Build the BulkConfirmationCubit that manages the confirmed mentor list state (tracking removals), calls the BulkRegistra...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical medium frontend Tier 4 🎨 frontend specialist
Wire proxy submission to proxy registration service
epic-bulk-and-proxy-registration-bulk-ui-task-005

Connect the proxy activity wizard's final confirmation step to the Proxy Registration Service. On coordinator confirmati...

Bulk & Proxy Registration: Activity Wizard, Bulk Orchestration & Confirmation UI · Bulk & Proxy Registration

critical medium integration Tier 4 ⚡ fullstack developer
Document repository interfaces and RLS policy contracts
epic-certificate-expiry-notifications-data-foundation-task-014

Produce developer-facing documentation for all four components in this epic: the CertificationExpiryRepository interface...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

medium low documentation Tier 3 📝 documentor
Unit test CertificationExpiryRepository query methods
epic-certificate-expiry-notifications-data-foundation-task-011

Write flutter_test unit tests for CertificationExpiryRepository covering: correct date-range filtering for all three thr...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

high low testing Tier 3 🧪 testing specialist
Unit test NotificationRecordRepository with threshold deduplication
epic-certificate-expiry-notifications-data-foundation-task-012

Write flutter_test unit tests for NotificationRecordRepository covering: record creation, threshold-based deduplication ...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

high low testing Tier 3 🧪 testing specialist
Integration test FCM sender with token lifecycle
epic-certificate-expiry-notifications-data-foundation-task-013

Write integration tests for FcmPushNotificationSender covering: token registration and persistence, token refresh behavi...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

high medium testing Tier 2 🧪 testing specialist
Implement CertificationExpiryRepository base class
epic-certificate-expiry-notifications-data-foundation-task-003

Create the Dart repository class CertificationExpiryRepository with its abstract interface. Implement Supabase client in...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium backend Tier 1 ⚙ backend specialist
Implement time-windowed expiry queries (60/30/7-day)
epic-certificate-expiry-notifications-data-foundation-task-004

Add the three threshold query methods to CertificationExpiryRepository: getMentorsExpiringWithinDays(60), getMentorsExpi...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium backend Tier 2 ⚙ backend specialist
Implement NotificationRecordRepository base class
epic-certificate-expiry-notifications-data-foundation-task-005

Create the Dart repository class NotificationRecordRepository with its abstract interface and Supabase client integratio...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium backend Tier 1 ⚙ backend specialist
Implement threshold deduplication logic in NotificationRecordRepository
epic-certificate-expiry-notifications-data-foundation-task-006

Add the hasNotificationBeenSentForThreshold(mentorId, thresholdDays) query method to NotificationRecordRepository to pre...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium backend Tier 2 ⚙ backend specialist
Create Supabase schema for certification expiry tracking
epic-certificate-expiry-notifications-data-foundation-task-001

Design and apply the Supabase database migration that creates the certification_expiry_tracking table. Include columns f...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium database Tier 0 🗄 database specialist
Create Supabase schema for notification records
epic-certificate-expiry-notifications-data-foundation-task-002

Design and apply the Supabase database migration that creates the notification_records table for persistent in-app notif...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium database Tier 0 🗄 database specialist
Author Supabase RLS policy suppressing expired mentor visibility
epic-certificate-expiry-notifications-data-foundation-task-009

Write and apply the Row Level Security policy on the peer_mentors and related public-facing tables that automatically ex...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium database Tier 1 🗄 database specialist
Implement FCM device token management in FcmPushNotificationSender
epic-certificate-expiry-notifications-data-foundation-task-007

Create the FcmPushNotificationSender infrastructure class responsible for Firebase Cloud Messaging integration. Implemen...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Implement FCM message delivery and tracking in FcmPushNotificationSender
epic-certificate-expiry-notifications-data-foundation-task-008

Add the core message delivery method sendPushNotification(recipientId, title, body, data) to FcmPushNotificationSender. ...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Validate and test RLS policy scope and bypass resistance
epic-certificate-expiry-notifications-data-foundation-task-010

Write automated tests that verify the expiry RLS policy is enforced for coordinator role queries and public/unauthentica...

Certificate Expiry Notifications — Data Foundation & Infrastructure · Certificate Expiry Notifications

critical medium testing Tier 2 🧪 testing specialist
Implement course enrollment prompt service — base structure
epic-certificate-expiry-notifications-orchestration-services-task-011

Scaffold the course enrollment prompt service with its public interface: a method that accepts a mentor ID and certifica...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

medium low backend Tier 2 ⚙ backend specialist
Implement deep-linked enrollment prompt URL generation
epic-certificate-expiry-notifications-orchestration-services-task-012

Within the course enrollment prompt service, implement the URL generation logic that produces deep-linked enrollment pro...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

medium medium backend Tier 3 ⚙ backend specialist
Implement acknowledgement audit metadata recording
epic-certificate-expiry-notifications-orchestration-services-task-010

Within the coordinator acknowledgement service, implement the audit trail write: persist a structured acknowledgement ev...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

medium low database Tier 3 🗄 database specialist
Document orchestration pipeline and ops runbook
epic-certificate-expiry-notifications-orchestration-services-task-018

Write developer and operations documentation covering the full certificate expiry notification pipeline: architecture di...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

medium low documentation Tier 6 📝 documentor
Integrate enrollment prompt into orchestrator notification payload
epic-certificate-expiry-notifications-orchestration-services-task-013

Connect the course enrollment prompt service to the expiry notification orchestrator so that notification payloads for l...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

medium medium integration Tier 4 🔗 integration specialist
Define expiry threshold constants and dispatch config
epic-certificate-expiry-notifications-orchestration-services-task-004

Define and centralise the expiry notification threshold configuration — specifically the 60-day, 30-day, and 7-day dispa...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

high low backend Tier 1 ⚙ backend specialist
Implement threshold-based FCM push payload builder
epic-certificate-expiry-notifications-orchestration-services-task-006

Within the expiry notification orchestrator, build the push notification payload builder that produces distinct FCM mess...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

high medium backend Tier 3 ⚙ backend specialist
Implement suppressor reactivation on certificate renewal
epic-certificate-expiry-notifications-orchestration-services-task-008

Extend the mentor visibility suppressor to support reactivation: when a previously suppressed mentor's certificate is re...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

high medium backend Tier 2 ⚙ backend specialist
Implement coordinator acknowledgement service — core flow
epic-certificate-expiry-notifications-orchestration-services-task-009

Build the coordinator acknowledgement service that processes a coordinator's acknowledgement action for a given mentor's...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

high medium backend Tier 2 ⚙ backend specialist
Implement edge function error handling and execution logging
epic-certificate-expiry-notifications-orchestration-services-task-016

Add structured error handling to the expiry check edge function: catch downstream service failures, log execution summar...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

high medium backend Tier 4 ⚙ backend specialist
Write integration tests for full expiry notification pipeline
epic-certificate-expiry-notifications-orchestration-services-task-017

Write integration tests covering the full expiry notification lifecycle: seed test mentor records at each expiry thresho...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

high high testing Tier 5 ⚙ backend specialist
Implement expiry notification orchestrator core service
epic-certificate-expiry-notifications-orchestration-services-task-005

Build the core orchestration service that accepts a list of expiring-certificate mentor records from the edge function a...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

critical high backend Tier 2 ⚙ backend specialist
Implement mentor visibility suppressor deactivation logic
epic-certificate-expiry-notifications-orchestration-services-task-007

Build the mentor visibility suppressor service that receives the list of lapsed-certificate mentors and sets their publi...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

critical medium backend Tier 1 ⚙ backend specialist
Implement certification expiry repository query methods
epic-certificate-expiry-notifications-orchestration-services-task-001

Build the data access layer for the certification expiry repository, implementing queries that return mentors with certi...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

critical medium database Tier 0 🗄 database specialist
Implement notification record repository write operations
epic-certificate-expiry-notifications-orchestration-services-task-002

Create the data access layer for the notification record repository, supporting insert, update, and read operations for ...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

critical medium database Tier 1 🗄 database specialist
Configure Supabase cron schedule for expiry check function
epic-certificate-expiry-notifications-orchestration-services-task-015

Register the expiry check edge function on the Supabase pg_cron schedule to run daily at a defined UTC time (e.g. 02:00 ...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

critical low deployment Tier 4 🚀 devops specialist
Configure FCM push notification sender integration
epic-certificate-expiry-notifications-orchestration-services-task-003

Set up the shared FCM push notification sender integration layer used by the orchestrator. Implement the client wrapper ...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Implement expiry check edge function — cron trigger and query
epic-certificate-expiry-notifications-orchestration-services-task-014

Create the Supabase Edge Function that runs on the daily cron schedule. The function queries the certification expiry re...

Certificate Expiry Notifications — Orchestration Services & Automated Suppression · Certificate Expiry Notifications

critical medium infrastructure Tier 3 🏗 infrastructure specialist
Define expiry status design tokens and color constants
epic-certificate-expiry-notifications-user-interface-task-001

Establish design token constants for the three certificate expiry states (active, expiring-soon, expired) within the exi...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high low frontend Tier 0 🎨 frontend specialist
Implement ExpiryStatusIndicator widget — compact mode
epic-certificate-expiry-notifications-user-interface-task-002

Build the reusable ExpiryStatusIndicator Flutter widget in its compact display mode, suitable for embedding in list rows...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high low frontend Tier 1 🎨 frontend specialist
Implement ExpiryStatusIndicator widget — full mode
epic-certificate-expiry-notifications-user-interface-task-003

Extend the ExpiryStatusIndicator widget with a full display mode for use on detail screens. Full mode shows the badge la...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high low frontend Tier 2 🎨 frontend specialist
Define CertificateExpiryNotificationState BLoC events and states
epic-certificate-expiry-notifications-user-interface-task-005

Create the BLoC event and state classes for certificate expiry notification data. States should cover loading, loaded (w...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high medium frontend Tier 0 🎨 frontend specialist
Implement ExpiryNotificationBanner widget — expiring-soon state
epic-certificate-expiry-notifications-user-interface-task-006

Build the ExpiryNotificationBanner Flutter widget for the expiring-soon visual state. The banner is persistent and rende...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high low frontend Tier 3 🎨 frontend specialist
Implement ExpiryNotificationBanner widget — expired state
epic-certificate-expiry-notifications-user-interface-task-007

Extend the ExpiryNotificationBanner with the differentiated visual state for expired certificates. The expired state use...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high low frontend Tier 4 🎨 frontend specialist
Implement NotificationDetailView — peer mentor layout
epic-certificate-expiry-notifications-user-interface-task-009

Build the NotificationDetailView screen for the peer mentor role. Display certificate name, expiry date, and the ExpiryS...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high medium frontend Tier 3 🎨 frontend specialist
Implement NotificationDetailView — coordinator additional actions
epic-certificate-expiry-notifications-user-interface-task-010

Extend the NotificationDetailView with coordinator-specific actions: a trigger-course-enrollment button wired to the Cou...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high medium frontend Tier 4 🎨 frontend specialist
Write widget tests for ExpiryStatusIndicator
epic-certificate-expiry-notifications-user-interface-task-004

Write Flutter widget tests covering all three expiry states in both compact and full display modes. Tests must verify co...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high low testing Tier 3 🧪 testing specialist
Write widget tests for ExpiryNotificationBanner
epic-certificate-expiry-notifications-user-interface-task-008

Write Flutter widget tests for the ExpiryNotificationBanner covering both expiring-soon and expired visual states, BLoC ...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high low testing Tier 5 🧪 testing specialist
Write widget tests for NotificationDetailView
epic-certificate-expiry-notifications-user-interface-task-011

Write Flutter widget tests for NotificationDetailView covering: peer mentor layout renders certificate name, expiry date...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high medium testing Tier 5 🧪 testing specialist
Integration test: expiry notification UI end-to-end flow
epic-certificate-expiry-notifications-user-interface-task-012

Write Flutter integration tests that exercise the full in-app expiry notification UI flow: Notifications tab loads and r...

Certificate Expiry Notifications — In-App User Interface · Certificate Expiry Notifications

high medium testing Tier 6 🧪 testing specialist
Document data contracts and service interfaces
epic-certification-management-foundation-task-014

Produce developer documentation covering: peer_mentor_certifications schema with column descriptions and JSONB renewal_h...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

medium low documentation Tier 5 📝 documentor
Wire PauseManagementService certification integration points
epic-certification-management-foundation-task-006

Identify and implement the integration touchpoints between PauseManagementService and the certification domain: triggeri...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium backend Tier 3 ⚙ backend specialist
Build CertificationExpiryBadge reusable widget
epic-certification-management-foundation-task-010

Implement the CertificationExpiryBadge Flutter widget that renders inline certification status throughout the app. Badge...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high low frontend Tier 3 🎨 frontend specialist
Implement PushNotificationService abstraction
epic-certification-management-foundation-task-005

Build the PushNotificationService abstract interface and its FCM-backed implementation. Expose sendNotification(recipien...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium infrastructure Tier 0 🏗 infrastructure specialist
Implement HLF Dynamics Sync authentication layer
epic-certification-management-foundation-task-007

Build the authentication module for HLFDynamicsSyncService: OAuth2 client credentials flow against the Dynamics 365 tena...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium integration Tier 0 🔗 integration specialist
Implement HLF Dynamics Sync retry logic and circuit breaker
epic-certification-management-foundation-task-008

Add exponential backoff retry logic (max 3 retries, 2s/4s/8s delays) and a circuit breaker pattern to HLFDynamicsSyncSer...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium integration Tier 1 🔗 integration specialist
Define and implement HLF Dynamics webhook payload contract
epic-certification-management-foundation-task-009

Define the canonical webhook payload schema for outbound certification status updates to HLF Dynamics portal: mentorId, ...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium integration Tier 2 🔗 integration specialist
Unit test CertificationRepository with mock Supabase client
epic-certification-management-foundation-task-011

Write comprehensive unit tests for CertificationRepository: test all CRUD methods, expiry queries, and error paths using...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium testing Tier 4 🧪 testing specialist
Integration test HLF Dynamics Sync against sandbox
epic-certification-management-foundation-task-012

Write integration tests for HLFDynamicsSyncService against the HLF Dynamics sandbox environment. Cover: successful certi...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium testing Tier 3 🧪 testing specialist
Test PushNotificationService and idempotency end-to-end
epic-certification-management-foundation-task-013

Write integration tests verifying the PushNotificationService correctly deduplicates notifications using cert_notificati...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

high medium testing Tier 2 🧪 testing specialist
Implement CertificationRepository CRUD methods
epic-certification-management-foundation-task-003

Build the CertificationRepository Dart class with full CRUD: createCertification, getCertificationById, getCertification...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

critical medium backend Tier 2 ⚙ backend specialist
Implement expiry-based query methods on CertificationRepository
epic-certification-management-foundation-task-004

Extend CertificationRepository with expiry-aware queries: getExpiringSoon(withinDays), getExpiredCertifications, getActi...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

critical medium backend Tier 3 ⚙ backend specialist
Create peer_mentor_certifications Supabase table
epic-certification-management-foundation-task-001

Design and migrate the peer_mentor_certifications table in Supabase with all required columns: id, peer_mentor_id, certi...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

critical medium database Tier 0 🗄 database specialist
Create cert_notification_log idempotency table
epic-certification-management-foundation-task-002

Design and migrate the cert_notification_log table used to prevent duplicate push notifications. Columns: id, certificat...

Certification Data Foundation & Infrastructure · Peer Mentor Certification Management

critical low database Tier 1 🗄 database specialist
Implement course enrolment initiation from within the app
epic-certification-management-core-logic-task-007

Add initiateCourseEnrolment to CertificationManagementService. The method should look up the relevant renewal course for...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

high medium backend Tier 6 ⚙ backend specialist
Unit and integration tests for lifecycle and reminder pipeline
epic-certification-management-core-logic-task-012

Write comprehensive unit tests for CertificationManagementService (lifecycle transitions, auto-pause idempotency, Dynami...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

high high testing Tier 7 🧪 testing specialist
Implement Supabase-backed CertificationRepository
epic-certification-management-core-logic-task-002

Implement the CertificationRepository using the Supabase Dart client. Cover CRUD operations for certification records: c...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium backend Tier 1 ⚙ backend specialist
Build CertificationManagementService lifecycle orchestrator
epic-certification-management-core-logic-task-003

Implement CertificationManagementService as the single lifecycle orchestrator for certifications. Provide methods: creat...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical high backend Tier 2 ⚙ backend specialist
Implement expiry state computation logic
epic-certification-management-core-logic-task-004

Within CertificationManagementService, implement computeExpiryState which derives the current certification state (valid...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium backend Tier 3 ⚙ backend specialist
Build CertificationReminderService threshold evaluator
epic-certification-management-core-logic-task-008

Implement CertificationReminderService with an evaluateUpcomingExpiries method that queries the certification repository...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium backend Tier 2 ⚙ backend specialist
Implement notification deduplication against cert_notification_log
epic-certification-management-core-logic-task-009

Within CertificationReminderService, implement deduplication logic that checks cert_notification_log before dispatching ...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium backend Tier 3 ⚙ backend specialist
Build audience-specific notification payload builders
epic-certification-management-core-logic-task-010

Implement separate payload builder functions inside CertificationReminderService for two audiences: peer mentor (persona...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium backend Tier 4 ⚙ backend specialist
Define CertificationRepository interface and data contracts
epic-certification-management-core-logic-task-001

Define the abstract CertificationRepository interface that CertificationManagementService will depend on. Specify method...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium database Tier 0 ⚙ backend specialist
Implement auto-pause trigger on certification expiry
epic-certification-management-core-logic-task-005

Integrate PauseManagementService within CertificationManagementService so that when computeExpiryState returns expired, ...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium integration Tier 4 🔗 integration specialist
Integrate HLFDynamicsSyncService for portal visibility updates
epic-certification-management-core-logic-task-006

Wire HLFDynamicsSyncService into CertificationManagementService so that after any expiry state change the Dynamics porta...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium integration Tier 5 🔗 integration specialist
Delegate reminder dispatch to PushNotificationService and log results
epic-certification-management-core-logic-task-011

Complete CertificationReminderService by wiring the payload dispatch to PushNotificationService. After a successful send...

Certification Business Logic & Reminder Engine · Peer Mentor Certification Management

critical medium integration Tier 5 🔗 integration specialist
Add Idempotency Guards to Cron
epic-certification-management-automation-task-004

Implement idempotency protection so the cron function does not send duplicate reminders or trigger duplicate auto-pauses...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

high medium backend Tier 3 ⚙ backend specialist
Structured Error Logging and Missed Auto-Pause Monitoring
epic-certification-management-automation-task-005

Add structured JSON error logging for all failure paths in the cron function, including service call failures, database ...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

high low backend Tier 4 ⚙ backend specialist
Implement State Invalidation and Reload After Mutations
epic-certification-management-automation-task-008

After RecordRenewal or EnrolInCourse success, invalidate the cached certification state and re-dispatch LoadCertificatio...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

high medium frontend Tier 2 🎨 frontend specialist
Write Unit Tests for CertificationBLoC
epic-certification-management-automation-task-009

Write comprehensive unit tests for CertificationBLoC covering all event-to-state transitions using the bloc_test package...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

high medium testing Tier 3 🧪 testing specialist
Integration Test for Cron End-to-End Flow
epic-certification-management-automation-task-010

Write an integration test that seeds the database with certifications in each expiry window, triggers the CertificationE...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

high medium testing Tier 5 ⚙ backend specialist
Implement Expiry Window Query Logic
epic-certification-management-automation-task-002

Write the database query logic inside the cron function to identify certifications expiring in 30, 14, and 7 days from t...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

critical medium backend Tier 1 ⚙ backend specialist
Define CertificationBLoC Events and States
epic-certification-management-automation-task-006

Define all BLoC events (LoadCertification, RecordRenewal, EnrolInCourse) and the corresponding state classes (Certificat...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

critical low frontend Tier 0 🎨 frontend specialist
Implement BLoC Event Handlers with Service Calls
epic-certification-management-automation-task-007

Implement the event handler methods inside CertificationBLoC for LoadCertification, RecordRenewal, and EnrolInCourse eve...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

critical medium frontend Tier 1 🎨 frontend specialist
Scaffold CertificationExpiryCron Edge Function
epic-certification-management-automation-task-001

Create the Supabase Edge Function skeleton for the nightly certification expiry cron job. Set up the Deno runtime entry ...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Integrate Reminder and Management Service Calls
epic-certification-management-automation-task-003

Wire the cron function to invoke CertificationReminderService for certifications expiring in 30/14/7 days and Certificat...

Nightly Cron Automation & Flutter BLoC State Management · Peer Mentor Certification Management

critical medium integration Tier 2 ⚙ backend specialist
Add tappable navigation from expiring widget rows
epic-certification-management-ui-task-009

Make each mentor row in CertificationsExpiringWidget tappable, navigating to the corresponding CertificationStatusScreen...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

medium low frontend Tier 4 🎨 frontend specialist
Integrate CertificationExpiryBadge into peer mentor list cards
epic-certification-management-ui-task-010

Integrate the CertificationExpiryBadge component from the foundation epic into peer mentor list card widgets (164-peer-m...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

medium low frontend Tier 2 🎨 frontend specialist
Scaffold CertificationStatusScreen widget tree
epic-certification-management-ui-task-001

Create the base CertificationStatusScreen widget with BLoC consumer wiring. Implement the scaffold, AppBar, and top-leve...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high medium frontend Tier 0 🎨 frontend specialist
Build cert metadata section (issue/expiry/type)
epic-certification-management-ui-task-002

Implement the certification metadata display section inside CertificationStatusScreen showing issue date, expiry date, a...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high low frontend Tier 1 🎨 frontend specialist
Implement renewal history timeline widget
epic-certification-management-ui-task-003

Build the renewal history timeline inside CertificationStatusScreen. Render a vertical timeline list of past renewal eve...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high medium frontend Tier 2 🎨 frontend specialist
Add manual renewal and course enrolment action buttons
epic-certification-management-ui-task-004

Implement the action button row at the bottom of CertificationStatusScreen with 'Record Manual Renewal' and 'Enrol in Co...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high low frontend Tier 3 🎨 frontend specialist
Scaffold RecordRenewalScreen with date pickers
epic-certification-management-ui-task-005

Create RecordRenewalScreen with the full form layout: cert type selector dropdown, new issue date picker, and new expiry...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high medium frontend Tier 0 🎨 frontend specialist
Implement expiry date validation and error display
epic-certification-management-ui-task-006

Add client-side validation to RecordRenewalScreen preventing submission when the new expiry date is in the past or earli...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high low frontend Tier 1 🎨 frontend specialist
Wire renewal submission and confirmation feedback
epic-certification-management-ui-task-007

Connect RecordRenewalScreen form submit button to CertificationBLoC renewal event. Handle submitting, success, and failu...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high medium frontend Tier 2 🎨 frontend specialist
Build CertificationsExpiringWidget list layout
epic-certification-management-ui-task-008

Implement the CertificationsExpiringWidget coordinator dashboard widget. Render a scrollable list of mentor rows showing...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high medium frontend Tier 0 🎨 frontend specialist
WCAG 2.2 AA audit and accessibility pass for all cert screens
epic-certification-management-ui-task-011

Run a full WCAG 2.2 AA accessibility audit across CertificationStatusScreen, RecordRenewalScreen, and CertificationsExpi...

Certification User Interface & Coordinator Tooling · Peer Mentor Certification Management

high medium testing Tier 5 🎨 frontend specialist
Wizard Progress Indicator widget
epic-cognitive-accessibility-foundation-task-008

Implement the WizardProgressIndicator Flutter widget displaying current step position within the ≤5 step constraint. Sho...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high low frontend Tier 2 🎨 frontend specialist
Labelled Navigation Bar widget
epic-cognitive-accessibility-foundation-task-009

Implement the LabelledNavigationBar Flutter widget as a WCAG 2.2 AA-compliant bottom navigation bar. Each tab must displ...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high low frontend Tier 1 🎨 frontend specialist
Plain Language Error Display widget
epic-cognitive-accessibility-foundation-task-013

Implement the PlainLanguageErrorDisplay Flutter widget that renders error messages from the ErrorMessageRegistry via the...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high low frontend Tier 2 🎨 frontend specialist
Inline Contextual Help Widget implementation
epic-cognitive-accessibility-foundation-task-014

Implement the InlineContextualHelpWidget Flutter widget that displays context-sensitive help text from the HelpContentRe...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high low frontend Tier 2 🎨 frontend specialist
Confirm Before Submit Screen layout
epic-cognitive-accessibility-foundation-task-015

Implement the ConfirmBeforeSubmitScreen using SingleActionScreenLayout as the base. Displays a structured summary of all...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high medium frontend Tier 4 🎨 frontend specialist
Cognitive Accessibility Audit utility implementation
epic-cognitive-accessibility-foundation-task-011

Build the CognitiveAccessibilityAudit utility class that performs a full accessibility audit of a widget tree or screen ...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high medium infrastructure Tier 3 🏗 infrastructure specialist
Unit and integration tests for data layer
epic-cognitive-accessibility-foundation-task-016

Write comprehensive flutter_test unit and integration tests for the data layer: WizardDraftRepository (CRUD, auto-save, ...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high medium testing Tier 2 🧪 testing specialist
Unit and integration tests for service layer
epic-cognitive-accessibility-foundation-task-017

Write flutter_test unit and integration tests for the service layer: CognitiveLoadRuleEngine (all constraint rules, viol...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high medium testing Tier 4 🧪 testing specialist
Widget tests for all UI constraint components
epic-cognitive-accessibility-foundation-task-018

Write flutter_test widget tests for all UI components in this epic: WizardProgressIndicator (step rendering, semantic la...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

high medium testing Tier 5 🧪 testing specialist
Implement Wizard Draft Repository class
epic-cognitive-accessibility-foundation-task-002

Build the WizardDraftRepository Dart class with full CRUD operations for draft state persistence. Implement saveDraft(),...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical low backend Tier 1 ⚙ backend specialist
Error Message Registry data model and storage
epic-cognitive-accessibility-foundation-task-003

Define the ErrorMessageRegistry data model and implement its storage layer. Each registry entry maps an error code to a ...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical low backend Tier 0 ⚙ backend specialist
Help Content Registry data model and storage
epic-cognitive-accessibility-foundation-task-004

Define the HelpContentRegistry data model and implement its storage layer. Each registry entry contains a context key, a...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical low backend Tier 0 ⚙ backend specialist
Cognitive Load Rule Engine core implementation
epic-cognitive-accessibility-foundation-task-006

Build the CognitiveLoadRuleEngine service class that enforces cognitive accessibility constraints at runtime. Implement ...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical medium backend Tier 1 ⚙ backend specialist
Plain Language Content Service implementation
epic-cognitive-accessibility-foundation-task-007

Build the PlainLanguageContentService that serves plain-language text for all user-facing strings. Implement getErrorMes...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical medium backend Tier 1 ⚙ backend specialist
Wizard State Manager service implementation
epic-cognitive-accessibility-foundation-task-012

Implement the WizardStateManager service using BLoC/Cubit pattern to manage multi-step wizard state across the ≤5 step f...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical medium backend Tier 3 ⚙ backend specialist
Database schema for wizard draft persistence
epic-cognitive-accessibility-foundation-task-001

Design and implement the SQLite/Supabase database schema for persisting wizard draft state. Create tables for draft sess...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical low database Tier 0 🗄 database specialist
Single-Action Screen Layout widget
epic-cognitive-accessibility-foundation-task-010

Implement the SingleActionScreenLayout Flutter widget that enforces the one-primary-action-per-screen cognitive accessib...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical medium frontend Tier 2 🎨 frontend specialist
Accessibility Design Token Enforcer setup
epic-cognitive-accessibility-foundation-task-005

Implement the AccessibilityDesignTokenEnforcer infrastructure component. Define a validated set of accessibility-complia...

Cognitive Accessibility Foundation: Registries, Rule Engine, and Base UI Constraints · Cognitive Accessibility

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Test PlainLanguageErrorDisplay accessibility compliance
epic-cognitive-accessibility-wizard-ui-task-007

Write Flutter widget tests verifying that PlainLanguageErrorDisplay emits correct Semantics labels, that liveRegion anno...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

medium low testing Tier 2 🧪 testing specialist
Test InlineContextualHelpWidget interactions
epic-cognitive-accessibility-wizard-ui-task-010

Write widget tests for InlineContextualHelpWidget covering tap-to-expand, tap-to-collapse, Semantics hint transitions, a...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

medium low testing Tier 2 🧪 testing specialist
Build PlainLanguageErrorDisplay widget structure
epic-cognitive-accessibility-wizard-ui-task-005

Implement the PlainLanguageErrorDisplay Flutter widget that renders a two-part accessible error: a plain-language headli...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high low frontend Tier 0 🎨 frontend specialist
Build InlineContextualHelpWidget with tap-to-expand
epic-cognitive-accessibility-wizard-ui-task-008

Implement InlineContextualHelpWidget as a stateful Flutter widget with a collapsed default state showing a labelled help...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high low frontend Tier 0 🎨 frontend specialist
Implement CognitiveAccessibilityAudit rules engine
epic-cognitive-accessibility-wizard-ui-task-014

Build the CognitiveAccessibilityAudit utility class that programmatically checks a set of cognitive accessibility rules ...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high medium infrastructure Tier 5 🧪 testing specialist
Integrate CognitiveAccessibilityAudit into CI pipeline
epic-cognitive-accessibility-wizard-ui-task-015

Create a Dart test file (cognitive_accessibility_audit_test.dart) that runs the CognitiveAccessibilityAudit against all ...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high medium infrastructure Tier 6 🚀 devops specialist
Integrate WizardDraftRepository persistence layer
epic-cognitive-accessibility-wizard-ui-task-003

Wire WizardStateManager to the WizardDraftRepository (from the foundation epic) so that every pause event writes the dra...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high medium integration Tier 2 🎨 frontend specialist
Integrate ErrorMessageRegistry with PlainLanguageErrorDisplay
epic-cognitive-accessibility-wizard-ui-task-006

Connect PlainLanguageErrorDisplay to the ErrorMessageRegistry (from the foundation epic) so that error codes are resolve...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high low integration Tier 1 🎨 frontend specialist
Integrate HelpContentRegistry with InlineContextualHelpWidget
epic-cognitive-accessibility-wizard-ui-task-009

Wire InlineContextualHelpWidget to the HelpContentRegistry (from the foundation epic) so that each widget instance recei...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high low integration Tier 1 🎨 frontend specialist
Unit test WizardStateManager BLoC
epic-cognitive-accessibility-wizard-ui-task-004

Write bloc_test unit tests covering all state transitions: normal step progression, pause mid-wizard, resume from draft,...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high medium testing Tier 3 🧪 testing specialist
Test ConfirmBeforeSubmitScreen accessibility and flow
epic-cognitive-accessibility-wizard-ui-task-013

Write integration tests for ConfirmBeforeSubmitScreen verifying that the Confirm action fires WizardSubmitted, the Go Ba...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high medium testing Tier 4 🧪 testing specialist
End-to-end cognitive accessibility regression test suite
epic-cognitive-accessibility-wizard-ui-task-016

Write a full end-to-end integration test using Flutter integration_test that walks through the complete registration wiz...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

high medium testing Tier 7 🧪 testing specialist
Scaffold WizardStateManager BLoC class
epic-cognitive-accessibility-wizard-ui-task-001

Create the BLoC class skeleton for WizardStateManager including state classes (WizardIdle, WizardInProgress, WizardPause...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

critical medium frontend Tier 0 🎨 frontend specialist
Implement pause-and-resume semantics in WizardStateManager
epic-cognitive-accessibility-wizard-ui-task-002

Add full pause-and-resume logic to the WizardStateManager BLoC: capture current step index and all field values when Wiz...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

critical medium frontend Tier 1 🎨 frontend specialist
Build ConfirmBeforeSubmitScreen layout and copy
epic-cognitive-accessibility-wizard-ui-task-011

Implement the ConfirmBeforeSubmitScreen as a full-screen confirmation gate that shows a summary of the wizard answers, a...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

critical medium frontend Tier 1 🎨 frontend specialist
Wire ConfirmBeforeSubmitScreen into wizard submission flow
epic-cognitive-accessibility-wizard-ui-task-012

Integrate ConfirmBeforeSubmitScreen as the mandatory final step in all multi-step wizard flows managed by WizardStateMan...

Cognitive Accessibility Wizard UI: State Management, Interactive Components, and CI Audit · Cognitive Accessibility

critical medium integration Tier 3 🎨 frontend specialist
Document data layer contracts and encryption design
epic-contact-detail-and-edit-foundation-task-018

Write developer documentation covering: typed interfaces for all repository methods, field-encryption-utils API surface,...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

medium low documentation Tier 8 📝 documentor
Widget tests for affiliation chip and status indicator
epic-contact-detail-and-edit-foundation-task-015

Write Flutter widget tests for multi-chapter-affiliation-chip (read-only render, edit mode selection, 5-chapter cap enfo...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

medium low testing Tier 4 🧪 testing specialist
Build assignment_status_indicator badge widget
epic-contact-detail-and-edit-foundation-task-011

Implement the assignment-status-indicator UI primitive as a stateless Flutter widget rendering a colour-coded badge for ...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high low frontend Tier 2 🎨 frontend specialist
Add org label override and accessibility semantics
epic-contact-detail-and-edit-foundation-task-012

Extend assignment-status-indicator to consume org-labels-provider for terminology overrides (e.g. HLF may call 'open' so...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high low frontend Tier 3 🎨 frontend specialist
Implement multi_chapter_affiliation_chip read-only display
epic-contact-detail-and-edit-foundation-task-013

Build the read-only mode of multi-chapter-affiliation-chip: a horizontal wrap of chip widgets each showing a chapter nam...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high medium frontend Tier 2 🎨 frontend specialist
Add interactive multi-select mode with 5-chapter cap
epic-contact-detail-and-edit-foundation-task-014

Extend multi-chapter-affiliation-chip with an edit mode presenting available chapters as a selectable list. Wire the NHF...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high medium frontend Tier 3 🎨 frontend specialist
Implement contact_form_validator required field rules
epic-contact-detail-and-edit-foundation-task-005

Create the contact-form-validator infrastructure component enforcing required field presence (name, contact method) and ...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high low infrastructure Tier 0 ⚙ backend specialist
Add email, phone format and NHF chapter-count rule
epic-contact-detail-and-edit-foundation-task-006

Extend contact-form-validator with email regex validation, Norwegian phone number format check (8 digits, optional +47 p...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high low infrastructure Tier 1 ⚙ backend specialist
Riverpod providers for data layer components
epic-contact-detail-and-edit-foundation-task-017

Expose contact-detail-repository, assignment-repository, field-encryption-utils, and contact-form-validator through Rive...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high medium infrastructure Tier 6 ⚙ backend specialist
Unit test repositories and encryption utilities
epic-contact-detail-and-edit-foundation-task-010

Write unit and integration tests for assignment-repository, contact-detail-repository, contact-form-validator, and field...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high medium testing Tier 6 🧪 testing specialist
Integration test: repository + encryption round-trip
epic-contact-detail-and-edit-foundation-task-016

Write integration tests exercising the full data path: contact-detail-repository fetches encrypted field metadata, field...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

high medium testing Tier 7 🧪 testing specialist
Add assignment status read/write operations
epic-contact-detail-and-edit-foundation-task-002

Extend the assignment repository with write operations: create assignment, update status transitions, and soft-delete. I...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

critical low backend Tier 1 ⚙ backend specialist
Create assignment_repository Supabase query wrappers
epic-contact-detail-and-edit-foundation-task-001

Implement the assignment-repository data component with typed Supabase query wrappers for reading and writing assignment...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

critical low database Tier 0 ⚙ backend specialist
Implement contact_detail_repository base queries
epic-contact-detail-and-edit-foundation-task-003

Build the contact-detail-repository with typed Supabase query wrappers for fetching full contact profiles. Implement get...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

critical medium database Tier 1 🗄 database specialist
Add encrypted field metadata queries to contact repository
epic-contact-detail-and-edit-foundation-task-004

Extend contact-detail-repository to query encrypted field metadata: which fields are encrypted for a given contact, thei...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

critical medium database Tier 2 🗄 database specialist
Build field_encryption_utils org key retrieval
epic-contact-detail-and-edit-foundation-task-007

Implement field-encryption-utils with org-specific encryption key retrieval from Supabase Vault or equivalent secure sto...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

critical high infrastructure Tier 3 🏗 infrastructure specialist
Implement decryption logic and integrity verification
epic-contact-detail-and-edit-foundation-task-008

Add AES-GCM decryption logic to field-encryption-utils using the retrieved org key. Implement HMAC integrity check on de...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

critical high infrastructure Tier 4 ⚙ backend specialist
Add masked fallback on decryption error
epic-contact-detail-and-edit-foundation-task-009

Extend field-encryption-utils with a masked fallback strategy: when decryption fails (wrong key, network error, integrit...

Contact Detail & Edit Foundation: Data Layer and Infrastructure Utilities · Contact Detail & Edit Screen

critical medium infrastructure Tier 5 ⚙ backend specialist
Add network retry and error state handling to ContactDetailService
epic-contact-detail-and-edit-service-layer-task-004

Wrap all repository calls in ContactDetailService with retry logic (up to 3 attempts with exponential back-off). Emit ty...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

high low backend Tier 2 ⚙ backend specialist
Surface user-readable save errors from ContactEditService
epic-contact-detail-and-edit-service-layer-task-007

Map repository and validation error codes returned during contact save operations to user-readable Norwegian error messa...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

high low backend Tier 2 ⚙ backend specialist
Trigger ContactDetailService refresh after successful save
epic-contact-detail-and-edit-service-layer-task-008

After a successful partial update in ContactEditService, trigger a refresh of the ContactDetailService state stream so t...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

high medium backend Tier 2 ⚙ backend specialist
Expose receipt confirmation status for UI feedback
epic-contact-detail-and-edit-service-layer-task-011

After a successful write in ReadReceiptService, update the service state to ReadReceiptConfirmed carrying the field key ...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

high low backend Tier 2 ⚙ backend specialist
Integration test: ContactDetailService parallel fetch and state streams
epic-contact-detail-and-edit-service-layer-task-013

Write integration tests for ContactDetailService covering: successful parallel fetch emitting ContactDetailLoaded with c...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

high medium testing Tier 3 🧪 testing specialist
Integration test: ContactEditService partial update and ReadReceiptService audit write
epic-contact-detail-and-edit-service-layer-task-014

Write integration tests covering ContactEditService diff computation (only changed fields submitted), user-readable erro...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

high medium testing Tier 3 🧪 testing specialist
Define ContactDetailService state models and BLoC/Riverpod structure
epic-contact-detail-and-edit-service-layer-task-001

Create the typed state classes (ContactDetailState, ContactDetailLoading, ContactDetailLoaded, ContactDetailError) and d...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical medium backend Tier 0 ⚙ backend specialist
Implement parallel fetch logic in ContactDetailService
epic-contact-detail-and-edit-service-layer-task-002

Implement the core data-fetching method that fires contact profile, activity history, and assignment status requests in ...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical medium backend Tier 1 ⚙ backend specialist
Resolve encrypted field display rules from organisation config
epic-contact-detail-and-edit-service-layer-task-003

Implement the logic inside ContactDetailService that reads the organisation configuration to determine which contact fie...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical medium backend Tier 2 ⚙ backend specialist
Define ContactEditService state models and provider structure
epic-contact-detail-and-edit-service-layer-task-005

Create typed state classes (ContactEditIdle, ContactEditSaving, ContactEditSuccess, ContactEditError) for contact-edit-s...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical medium backend Tier 0 ⚙ backend specialist
Implement partial field update submission in ContactEditService
epic-contact-detail-and-edit-service-layer-task-006

Implement the save method that compares the submitted form data against the current contact state to compute a diff cont...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical medium backend Tier 1 ⚙ backend specialist
Define ReadReceiptService state models and provider scaffold
epic-contact-detail-and-edit-service-layer-task-009

Create the typed state classes (ReadReceiptIdle, ReadReceiptWriting, ReadReceiptConfirmed, ReadReceiptError) and the Riv...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical low backend Tier 0 ⚙ backend specialist
Add retry and error handling to ReadReceiptService
epic-contact-detail-and-edit-service-layer-task-012

Wrap the Supabase insert in ReadReceiptService with retry logic (up to 3 attempts) to handle transient network failures....

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical medium backend Tier 2 ⚙ backend specialist
Implement audit read-receipt write to Supabase
epic-contact-detail-and-edit-service-layer-task-010

Implement the core method in ReadReceiptService that writes a read-receipt record to the Supabase read_receipts table. T...

Contact Detail & Edit Service Layer: BLoC/Riverpod Business Logic · Contact Detail & Edit Screen

critical medium database Tier 1 🗄 database specialist
Add proxy audit badge to activity history items
epic-contact-detail-and-edit-supporting-ui-task-003

Conditionally render the proxy-audit-badge widget (component 111-proxy-audit-badge) on each ActivityHistoryList item whe...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

medium low frontend Tier 2 🎨 frontend specialist
Integration test: activity history pagination and proxy badge
epic-contact-detail-and-edit-supporting-ui-task-020

Write integration tests for ActivityHistoryList covering: initial page load with correct item rendering, infinite scroll...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

medium medium testing Tier 8 🧪 testing specialist
Implement activity history data fetch in contact-detail-service
epic-contact-detail-and-edit-supporting-ui-task-001

Extend the contact-detail-service to expose a paginated activity history stream for a given contact ID, including type l...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium backend Tier 0 ⚙ backend specialist
Implement contact-edit-service save and optimistic update
epic-contact-detail-and-edit-supporting-ui-task-013

Build the contact-edit-service that accepts a validated ContactEditPayload, calls the contact-detail-repository update m...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium backend Tier 1 ⚙ backend specialist
Build ActivityHistoryList widget scaffold
epic-contact-detail-and-edit-supporting-ui-task-002

Create the ActivityHistoryList Flutter widget with a ListView.builder that accepts a paginated activity stream. Render t...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium frontend Tier 1 🎨 frontend specialist
WCAG 2.2 AA compliance for ActivityHistoryList
epic-contact-detail-and-edit-supporting-ui-task-004

Audit ActivityHistoryList for WCAG 2.2 AA compliance: ensure all interactive controls are at least 44x44pt, add semantic...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high low frontend Tier 3 🎨 frontend specialist
Implement configurable re-mask timeout for EncryptedFieldDisplay
epic-contact-detail-and-edit-supporting-ui-task-010

Add a configurable re-mask timer to EncryptedFieldDisplay. After decryption, start a countdown (default 30 seconds, conf...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium frontend Tier 4 🎨 frontend specialist
Build EditContactScreen scaffold and field pre-population
epic-contact-detail-and-edit-supporting-ui-task-014

Create the EditContactScreen Flutter widget. On mount, read current contact values from contact-detail-service state and...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium frontend Tier 2 🎨 frontend specialist
Wire real-time field validation and error display in EditContactScreen
epic-contact-detail-and-edit-supporting-ui-task-015

Integrate contact-form-validator with EditContactScreen so that each AppTextField calls its corresponding validator on c...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium frontend Tier 3 🎨 frontend specialist
Integrate multi-chapter-affiliation-chip in edit mode
epic-contact-detail-and-edit-supporting-ui-task-016

Add the multi-chapter-affiliation-chip widget (component 174-multi-chapter-affiliation-chip) to EditContactScreen for ma...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium frontend Tier 4 🎨 frontend specialist
Implement save action, navigation, and confirmation toast
epic-contact-detail-and-edit-supporting-ui-task-017

Wire the save button in EditContactScreen to call contact-edit-service with the current validated form payload. On succe...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium frontend Tier 5 🎨 frontend specialist
WCAG 2.2 AA compliance for EditContactScreen
epic-contact-detail-and-edit-supporting-ui-task-018

Audit EditContactScreen for WCAG 2.2 AA compliance: verify all interactive controls including AppTextField, chips, and s...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high low frontend Tier 6 🎨 frontend specialist
Implement contact-form-validator for edit screen fields
epic-contact-detail-and-edit-supporting-ui-task-012

Build the contact-form-validator infrastructure module. Implement field-level validators for all editable contact fields...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high low infrastructure Tier 0 ⚙ backend specialist
Unit and widget tests for EncryptedFieldDisplay
epic-contact-detail-and-edit-supporting-ui-task-011

Write unit tests for field-encryption-utils (encrypt/decrypt round-trip, error cases) and widget tests for EncryptedFiel...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium testing Tier 5 🧪 testing specialist
Widget and integration tests for EditContactScreen
epic-contact-detail-and-edit-supporting-ui-task-019

Write widget tests for EditContactScreen covering: field pre-population from service state, per-field validation error d...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

high medium testing Tier 7 🧪 testing specialist
Implement read-receipt-service for field decryption events
epic-contact-detail-and-edit-supporting-ui-task-006

Build the read-receipt-service that records a timestamped read receipt in the Supabase backend whenever a sensitive fiel...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

critical medium backend Tier 1 ⚙ backend specialist
Build EncryptedFieldDisplay widget masked state
epic-contact-detail-and-edit-supporting-ui-task-007

Create the EncryptedFieldDisplay Flutter widget. In its default state, render the field value as masked bullets with a l...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

critical medium frontend Tier 1 🎨 frontend specialist
Wire sensitive-field-warning-dialog into EncryptedFieldDisplay
epic-contact-detail-and-edit-supporting-ui-task-008

On tap of the lock icon, show the sensitive-field-warning-dialog (component 607-sensitive-field-warning-dialog) as a mod...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

critical medium frontend Tier 2 🎨 frontend specialist
Trigger read-receipt and live region on field reveal
epic-contact-detail-and-edit-supporting-ui-task-009

After successful decryption in EncryptedFieldDisplay, fire read-receipt-service in the background without awaiting compl...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

critical medium frontend Tier 3 🎨 frontend specialist
Implement field-encryption-utils core encrypt/decrypt
epic-contact-detail-and-edit-supporting-ui-task-005

Implement the field-encryption-utils infrastructure module in Dart. Provide encryptField(plaintext, key) and decryptFiel...

Contact Detail & Edit Supporting UI: Edit Screen, History List, and Encrypted Display · Contact Detail & Edit Screen

critical high infrastructure Tier 0 🏗 infrastructure specialist
Build Assignment Status Indicator Widget
epic-contact-detail-and-edit-main-screen-task-005

Implement the assignment status indicator UI widget that visually communicates whether a contact has an active assignmen...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

medium low frontend Tier 0 🎨 frontend specialist
Build Activity History List Widget
epic-contact-detail-and-edit-main-screen-task-010

Implement the activity history list section widget that renders paginated past activity entries for a contact, sourced f...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

medium low frontend Tier 2 🎨 frontend specialist
Implement Contact Form Validator
epic-contact-detail-and-edit-main-screen-task-003

Create the infrastructure-layer contact form validator that enforces business rules for contact data: required field che...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

medium low infrastructure Tier 0 ⚙ backend specialist
Implement Contact Detail Service
epic-contact-detail-and-edit-main-screen-task-007

Build the contact detail service that orchestrates data retrieval from contact-detail-repository and assignment-reposito...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

high medium backend Tier 1 ⚙ backend specialist
Implement Contact Edit Service
epic-contact-detail-and-edit-main-screen-task-008

Build the contact edit service that reads from contact-detail-repository, applies changes validated through contact-form...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

high medium backend Tier 1 ⚙ backend specialist
Implement Read Receipt Service
epic-contact-detail-and-edit-main-screen-task-009

Build the read receipt service that consumes field-encryption-utils to record when sensitive Blindeforbundet fields are ...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

high medium backend Tier 1 ⚙ backend specialist
Implement Assignment Repository
epic-contact-detail-and-edit-main-screen-task-001

Build the assignment repository layer that provides data access for contact assignment records. Implement Supabase queri...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

high low database Tier 0 ⚙ backend specialist
Implement Contact Detail Repository
epic-contact-detail-and-edit-main-screen-task-002

Build the contact detail repository that fetches full contact profiles from Supabase, including org-specific metadata fi...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

high medium database Tier 0 🗄 database specialist
Build Multi-Chapter Affiliation Chip Widget
epic-contact-detail-and-edit-main-screen-task-006

Implement the multi-chapter affiliation chip widget for NHF contacts who belong to up to 5 chapters simultaneously. Rend...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

high medium frontend Tier 0 🎨 frontend specialist
Build Edit Contact Screen
epic-contact-detail-and-edit-main-screen-task-011

Implement the edit contact screen that composes multi-chapter-affiliation-chip for NHF chapter management, drives valida...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

high medium frontend Tier 2 🎨 frontend specialist
Build Encrypted Field Display Widget
epic-contact-detail-and-edit-main-screen-task-012

Implement the encrypted field display widget for Blindeforbundet sensitive fields (name, address, epikrise reference). T...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

critical high frontend Tier 2 🎨 frontend specialist
Assemble Contact Detail Screen
epic-contact-detail-and-edit-main-screen-task-013

Implement the top-level contact-detail-screen that composes all previously built components into a single cohesive profi...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

critical medium frontend Tier 3 ⚡ fullstack developer
Implement Field Encryption Utilities
epic-contact-detail-and-edit-main-screen-task-004

Build the field encryption utility layer for Blindeforbundet's sensitive contact data (name, address, epikrise reference...

Contact Detail Main Screen: Full Profile Assembly and Peer Mentor Navigation · Contact Detail & Edit Screen

critical high infrastructure Tier 0 ⚙ backend specialist
Build validated ILIKE search predicate constructor
epic-contact-list-management-foundation-task-003

Add the search predicate construction method to ContactRLSQueryBuilder that generates ILIKE patterns for the name and no...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

high low backend Tier 2 ⚙ backend specialist
Add search-filtered fetch method to ContactRepository
epic-contact-list-management-foundation-task-007

Extend ContactRepository with a fetchBySearch(String query) method that uses ContactRLSQueryBuilder to compose the ILIKE...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

high medium backend Tier 4 ⚙ backend specialist
Unit test ContactRLSQueryBuilder filter construction
epic-contact-list-management-foundation-task-004

Write unit tests for ContactRLSQueryBuilder covering: correct filter expression for each UserRole value, organization_id...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

high low testing Tier 3 🧪 testing specialist
Define UserRole-to-RLS filter mapping constants
epic-contact-list-management-foundation-task-001

Create the ContactRLSQueryBuilder class skeleton and define the mapping table that translates the application-level User...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

critical low backend Tier 0 ⚙ backend specialist
Implement organization_id scoping on all contact queries
epic-contact-list-management-foundation-task-002

Within ContactRLSQueryBuilder, implement the organization_id scoping logic that appends an .eq('organization_id', orgId)...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

critical low backend Tier 1 ⚙ backend specialist
Define Contact and PeerMentor typed Dart models
epic-contact-list-management-foundation-task-005

Create the immutable Contact and PeerMentor Dart model classes with all fields required by the contact list feature (id,...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

critical low backend Tier 0 ⚙ backend specialist
Implement ContactRepository with Supabase client wiring
epic-contact-list-management-foundation-task-006

Build the ContactRepository class that accepts a Supabase client and a ContactRLSQueryBuilder instance via constructor i...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

critical medium backend Tier 3 ⚙ backend specialist
Integration test ContactRepository against RLS policies
epic-contact-list-management-foundation-task-008

Write integration tests for ContactRepository that verify end-to-end behavior: coordinator role sees only contacts withi...

Contact List Foundation: RLS Query Builder & Data Repository · Contact List Management

critical medium testing Tier 5 🧪 testing specialist
Apply WCAG 2.2 AA contrast and 44dp touch targets to ContactCardWidget
epic-contact-list-management-ui-components-task-003

Audit ContactCardWidget against WCAG 2.2 AA contrast requirements (minimum 4.5:1 for normal text, 3:1 for large text and...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

high low frontend Tier 2 🎨 frontend specialist
Apply design tokens and WCAG accessibility to PeerMentorCardWidget
epic-contact-list-management-ui-components-task-005

Apply design token spacing, typography, and color values to PeerMentorCardWidget. Ensure availability and certification ...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

high low frontend Tier 2 🎨 frontend specialist
Implement ContactViewSwitcher segmented toggle with org-label overrides
epic-contact-list-management-ui-components-task-007

Build the ContactViewSwitcher as a segmented control widget (SegmentedButton or equivalent) with two or more toggle opti...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

high low frontend Tier 0 🎨 frontend specialist
Add loading indicators and empty state UI to ContactListScreen
epic-contact-list-management-ui-components-task-009

Implement loading and empty state handling in ContactListScreen. Display a centered CircularProgressIndicator when the c...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

high low frontend Tier 3 🎨 frontend specialist
Render PeerMentorCardWidget in ContactListScreen via view switcher
epic-contact-list-management-ui-components-task-010

Extend ContactListScreen to render PeerMentorCardWidget items when the ContactViewSwitcher is toggled to the peer mentor...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

high low frontend Tier 3 🎨 frontend specialist
Write widget tests for ContactCardWidget and PeerMentorCardWidget
epic-contact-list-management-ui-components-task-011

Write Flutter widget tests using flutter_test covering: ContactCardWidget renders name, role badge, org label, and trunc...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

high low testing Tier 3 🧪 testing specialist
Write widget and integration tests for search bar, view switcher, and screen
epic-contact-list-management-ui-components-task-012

Write Flutter widget tests for ContactSearchBar verifying debounce fires after 300ms, clear button resets the field, and...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

high medium testing Tier 4 🧪 testing specialist
Define mock contact data models and test fixtures
epic-contact-list-management-ui-components-task-001

Create Dart data classes and mock data fixtures for Contact and PeerMentor entities used as test inputs for all UI widge...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

critical low frontend Tier 0 🎨 frontend specialist
Implement ContactCardWidget layout and content
epic-contact-list-management-ui-components-task-002

Build the ContactCardWidget Flutter widget displaying contact name as the primary label, a color-coded role badge, an or...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

critical low frontend Tier 1 🎨 frontend specialist
Implement PeerMentorCardWidget with mentor-specific data fields
epic-contact-list-management-ui-components-task-004

Build PeerMentorCardWidget as a visually distinct Flutter widget from ContactCardWidget. Display mentor name, availabili...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

critical low frontend Tier 1 🎨 frontend specialist
Implement ContactSearchBar with debounce and clear button
epic-contact-list-management-ui-components-task-006

Build the ContactSearchBar widget as a styled Flutter TextField with a 300ms debounce on value changes to prevent excess...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

critical low frontend Tier 0 🎨 frontend specialist
Compose ContactListScreen with mock data and child widgets
epic-contact-list-management-ui-components-task-008

Build the ContactListScreen as a role-aware Flutter screen that renders ContactCardWidget items in a scrollable ListView...

Contact List UI Components: Cards, Search Bar, View Switcher & Main Screen · Contact List Management

critical medium frontend Tier 2 ⚡ fullstack developer
Implement ContactSearchService local in-memory filtering
epic-contact-list-management-business-logic-task-004

Build the local in-memory search path in ContactSearchService for datasets below the configurable size threshold. Implem...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

high low backend Tier 1 ⚙ backend specialist
Implement debounced Supabase ILIKE search path
epic-contact-list-management-business-logic-task-005

Build the remote search path in ContactSearchService for datasets above the size threshold. Implement debounced Supabase...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

high medium backend Tier 2 ⚙ backend specialist
Implement search path selection and query normalization
epic-contact-list-management-business-logic-task-006

Wire the threshold-based path selection logic in ContactSearchService so it automatically dispatches to either local or ...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

high low backend Tier 3 ⚙ backend specialist
Implement search query state management in provider
epic-contact-list-management-business-logic-task-008

Add search query state to ContactListRiverpodProvider as a separate StateProvider or internal notifier field. When the q...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

high medium backend Tier 5 ⚙ backend specialist
Integration tests for service and provider layer
epic-contact-list-management-business-logic-task-010

Write integration tests covering all three role filtering paths in ContactListService, both local and remote search path...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

high medium testing Tier 7 🧪 testing specialist
Define ContactListService interface and role contracts
epic-contact-list-management-business-logic-task-001

Create the ContactListService class skeleton with clearly defined method signatures for role-based contact retrieval. De...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

critical low backend Tier 0 ⚙ backend specialist
Implement coordinator role filtering in ContactListService
epic-contact-list-management-business-logic-task-002

Implement the coordinator-specific filtering branch in ContactListService that delegates to ContactRepository to fetch t...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

critical medium backend Tier 1 ⚙ backend specialist
Implement org admin and peer mentor role filtering
epic-contact-list-management-business-logic-task-003

Implement the remaining two filtering branches in ContactListService: org admin branch delegates to ContactRepository to...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

critical medium backend Tier 2 ⚙ backend specialist
Create ContactListRiverpodProvider with AsyncValue streams
epic-contact-list-management-business-logic-task-007

Implement the ContactListRiverpodProvider using Riverpod's AsyncNotifier pattern. Expose two separate AsyncValue streams...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

critical medium backend Tier 4 ⚙ backend specialist
Implement auth context change auto-invalidation
epic-contact-list-management-business-logic-task-009

Configure ContactListRiverpodProvider to watch the authenticated user's role and organisation context providers. When ro...

Contact List Business Logic: Services, Search & Riverpod State Management · Contact List Management

critical medium backend Tier 6 ⚙ backend specialist
Implement cache invalidation and staleness detection
epic-contact-search-data-layer-task-007

Add cache invalidation logic to the ContactCacheSyncRepository: track last_synced_at in a preferences store (shared_pref...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

high low backend Tier 4 ⚙ backend specialist
Trigger cache sync after contact list online fetch
epic-contact-search-data-layer-task-008

Integrate the ContactCacheSyncRepository into the post-fetch hook of the contact list feature. After a successful online...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

high low integration Tier 4 🔗 integration specialist
Write unit tests for SupabaseSearchRepository
epic-contact-search-data-layer-task-009

Write unit tests for the SupabaseSearchRepository using a mocked Supabase client. Cover: name ilike match, organisation ...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

high low testing Tier 2 🧪 testing specialist
Write unit tests for OfflineSearchRepository and Drift schema
epic-contact-search-data-layer-task-010

Write unit tests for the OfflineSearchRepository using an in-memory Drift database. Cover: name LIKE match, organisation...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

high low testing Tier 3 🧪 testing specialist
Write unit tests for ContactCacheSyncRepository
epic-contact-search-data-layer-task-011

Write unit tests for the ContactCacheSyncRepository using mocked Supabase and in-memory Drift. Cover: initial cache popu...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

high low testing Tier 5 🧪 testing specialist
Integration test: online-to-offline search fallback flow
epic-contact-search-data-layer-task-012

Write an integration test that exercises the full data layer flow: populate cache via ContactCacheSyncRepository, simula...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

high medium testing Tier 6 🧪 testing specialist
Define shared repository interfaces for contact search
epic-contact-search-data-layer-task-001

Create abstract repository interfaces (IContactSearchRepository, IOfflineSearchRepository, ICacheSyncRepository) in Dart...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

critical low backend Tier 0 ⚙ backend specialist
Implement ContactCacheSyncRepository sync logic
epic-contact-search-data-layer-task-006

Implement the ContactCacheSyncRepository class responsible for pulling fresh data from Supabase and writing it to the Dr...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

critical medium backend Tier 3 ⚙ backend specialist
Design Drift cache table schema for contacts and notes
epic-contact-search-data-layer-task-002

Define Drift table classes for the local SQLite cache: a contacts cache table mirroring the Supabase contacts schema (id...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

critical low database Tier 1 🗄 database specialist
Implement Supabase RLS-scoped ilike search queries
epic-contact-search-data-layer-task-003

Implement the SupabaseSearchRepository class against the contacts and notes Supabase tables. Write parameterised ilike q...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

critical medium database Tier 1 ⚙ backend specialist
Implement Drift offline ilike-equivalent search queries
epic-contact-search-data-layer-task-004

Implement the OfflineSearchRepository class using Drift generated DAOs. Write LIKE-based SQL queries against the local c...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

critical low database Tier 2 🗄 database specialist
Implement cache write and upsert operations in Drift
epic-contact-search-data-layer-task-005

Add upsert methods to the Drift DAOs that write contacts and notes fetched from Supabase into the local cache. Use inser...

Contact Search Data Layer & Offline Cache · Contact & Notes Search

critical low database Tier 2 🗄 database specialist
Implement query sanitisation and normalisation logic
epic-contact-search-service-infrastructure-task-003

Build query string preprocessing utilities within ContactSearchService: trim whitespace, normalise Unicode characters (e...

Search Service & Debounce Infrastructure · Contact & Notes Search

high low backend Tier 0 ⚙ backend specialist
Implement result merging and deduplication logic
epic-contact-search-service-infrastructure-task-005

Build the merging and deduplication layer in ContactSearchService that combines results from multiple sources (Supabase ...

Search Service & Debounce Infrastructure · Contact & Notes Search

high low backend Tier 2 ⚙ backend specialist
Add configurable debounce parameters and stream contract
epic-contact-search-service-infrastructure-task-002

Extend SearchDebounceUtility to accept configurable debounce duration, minimum query length threshold, and expose a well...

Search Service & Debounce Infrastructure · Contact & Notes Search

high low infrastructure Tier 1 ⚙ backend specialist
Write unit tests for SearchDebounceUtility
epic-contact-search-service-infrastructure-task-007

Write comprehensive unit tests for SearchDebounceUtility covering: debounce timing correctness, minimum query length enf...

Search Service & Debounce Infrastructure · Contact & Notes Search

high low testing Tier 2 🧪 testing specialist
Write unit and integration tests for ContactSearchService
epic-contact-search-service-infrastructure-task-008

Write unit tests for query sanitisation, deduplication, and result merging logic. Write integration tests simulating onl...

Search Service & Debounce Infrastructure · Contact & Notes Search

high medium testing Tier 4 🧪 testing specialist
Expose reactive search result stream from ContactSearchService
epic-contact-search-service-infrastructure-task-006

Wire the debounced query stream from SearchDebounceUtility into ContactSearchService and expose a reactive Stream<Search...

Search Service & Debounce Infrastructure · Contact & Notes Search

critical medium backend Tier 3 ⚙ backend specialist
Implement SearchDebounceUtility core class
epic-contact-search-service-infrastructure-task-001

Create the SearchDebounceUtility class that wraps a RxDart or Timer-based debounce mechanism with a configurable delay (...

Search Service & Debounce Infrastructure · Contact & Notes Search

critical low infrastructure Tier 0 ⚙ backend specialist
Implement online/offline routing in ContactSearchService
epic-contact-search-service-infrastructure-task-004

Build the connectivity-aware routing layer inside ContactSearchService. When the device is online, route queries to the ...

Search Service & Debounce Infrastructure · Contact & Notes Search

critical medium integration Tier 1 🔗 integration specialist
Implement live result-count announcements
epic-contact-search-accessible-ui-task-003

Add a Semantics live region to the AccessibleSearchInputField that announces the number of search results after each deb...

Accessible Search Screen & UI Components · Contact & Notes Search

high low frontend Tier 2 🎨 frontend specialist
Add voice-to-text progressive enhancement
epic-contact-search-accessible-ui-task-004

Integrate a microphone icon button into the AccessibleSearchInputField that triggers the native speech recognition API (...

Accessible Search Screen & UI Components · Contact & Notes Search

high low frontend Tier 1 🎨 frontend specialist
Implement accessible empty state and offline banner
epic-contact-search-accessible-ui-task-006

Add a text-based empty state widget to SearchResultsList that announces 'No results found for <query>' via Semantics. Im...

Accessible Search Screen & UI Components · Contact & Notes Search

high low frontend Tier 1 🎨 frontend specialist
Enforce sufficient touch targets and keyboard nav
epic-contact-search-accessible-ui-task-008

Audit all interactive elements in SearchScreen, AccessibleSearchInputField, and SearchResultsList for WCAG 2.2 AA minimu...

Accessible Search Screen & UI Components · Contact & Notes Search

high low frontend Tier 2 🎨 frontend specialist
Write widget tests for search UI accessibility
epic-contact-search-accessible-ui-task-009

Write Flutter widget tests covering: Semantics tree correctness for AccessibleSearchInputField (label, hint, textField r...

Accessible Search Screen & UI Components · Contact & Notes Search

high low testing Tier 3 🧪 testing specialist
Integration test: end-to-end search flow
epic-contact-search-accessible-ui-task-010

Write integration tests that cover the full search flow: user types a query, debounce fires, ContactSearchService is cal...

Accessible Search Screen & UI Components · Contact & Notes Search

high low testing Tier 4 🧪 testing specialist
Implement AccessibleSearchInputField widget
epic-contact-search-accessible-ui-task-001

Build the AccessibleSearchInputField Flutter widget wrapping AppTextField with Flutter Semantics widget. Include semanti...

Accessible Search Screen & UI Components · Contact & Notes Search

critical low frontend Tier 0 🎨 frontend specialist
Add VoiceOver/JAWS Semantics to search input
epic-contact-search-accessible-ui-task-002

Extend the AccessibleSearchInputField with full screen-reader support: announce input field purpose via Semantics(label:...

Accessible Search Screen & UI Components · Contact & Notes Search

critical low frontend Tier 1 🎨 frontend specialist
Build SearchResultsList with Semantics region
epic-contact-search-accessible-ui-task-005

Implement the SearchResultsList widget as a scrollable ListView wrapped in a Semantics region (explicitChildNodes: true)...

Accessible Search Screen & UI Components · Contact & Notes Search

critical low frontend Tier 0 🎨 frontend specialist
Build SearchScreen container and debounce wiring
epic-contact-search-accessible-ui-task-007

Implement the SearchScreen widget as the main container that holds AccessibleSearchInputField and SearchResultsList. Wir...

Accessible Search Screen & UI Components · Contact & Notes Search

critical low frontend Tier 1 🎨 frontend specialist
Write widget tests for MentorMultiSelectWidget
epic-coordinator-proxy-registration-foundation-task-011

Write Flutter widget tests for MentorMultiSelectWidget covering: rendering of mentor list items, search debounce filteri...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

medium low testing Tier 4 🧪 testing specialist
Build ProxyConfirmationScreen UI widget
epic-coordinator-proxy-registration-foundation-task-007

Build the ProxyConfirmationScreen Flutter widget that displays a summary of the proxy registration before final submissi...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

high low frontend Tier 3 🎨 frontend specialist
Build MentorMultiSelectWidget with search and chip UI
epic-coordinator-proxy-registration-foundation-task-008

Build the MentorMultiSelectWidget Flutter widget supporting selection of multiple peer mentors from the coordinator's or...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

high medium frontend Tier 3 🎨 frontend specialist
Write unit tests for dual-attribution data model
epic-coordinator-proxy-registration-foundation-task-009

Write unit and integration tests for ProxyActivityRepository covering: correct persistence of coordinator_id and attribu...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

high medium testing Tier 4 🧪 testing specialist
Write unit tests for ProxyAuditLogger immutability
epic-coordinator-proxy-registration-foundation-task-010

Write tests verifying that the ProxyAuditLogger produces append-only records: no update or delete operations succeed on ...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

high low testing Tier 5 🧪 testing specialist
Implement RecurringTemplateRepository in Dart
epic-coordinator-proxy-registration-foundation-task-002

Implement the RecurringTemplateRepository class in Dart/Flutter using Supabase client to support CRUD operations on recu...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

critical low backend Tier 1 ⚙ backend specialist
Implement ProxyActivityRepository in Dart
epic-coordinator-proxy-registration-foundation-task-004

Implement the ProxyActivityRepository class using Supabase client. Provide methods: insertProxyActivity(coordinatorId, a...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

critical medium backend Tier 2 ⚙ backend specialist
Create Supabase schema for recurring activity templates
epic-coordinator-proxy-registration-foundation-task-001

Write and apply Supabase migration to create the recurring_activity_templates table with columns for template name, acti...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

critical low database Tier 0 🗄 database specialist
Create Supabase schema for proxy activity dual-attribution
epic-coordinator-proxy-registration-foundation-task-003

Write and apply Supabase migration to create the proxy_activities table with dual-attribution columns: coordinator_id (t...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

critical medium database Tier 1 🗄 database specialist
Create Supabase schema for proxy audit log table
epic-coordinator-proxy-registration-foundation-task-005

Write and apply Supabase migration to create the proxy_audit_log table with fields: id, event_type (ENUM: created, updat...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

critical low database Tier 2 🗄 database specialist
Implement ProxyAuditLogger service in Dart
epic-coordinator-proxy-registration-foundation-task-006

Implement the ProxyAuditLogger class as an infrastructure service that writes immutable audit records to the proxy_audit...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

critical low infrastructure Tier 3 ⚙ backend specialist
Validate RLS org-scope policies end-to-end
epic-coordinator-proxy-registration-foundation-task-012

Perform end-to-end validation of all Row Level Security policies introduced in this epic. Test that a coordinator from o...

Data Layer and Audit Infrastructure · Coordinator Proxy Registration for Contacts

critical medium infrastructure Tier 6 🗄 database specialist
Document proxy registration API contracts and validation rules
epic-coordinator-proxy-registration-core-task-015

Write developer documentation covering: the dual-attribution data model (coordinator vs. attributed mentor), all Activit...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

medium low documentation Tier 9 📝 documentor
Implement RecurringTemplateSelector widget
epic-coordinator-proxy-registration-core-task-004

Build the RecurringTemplateSelector UI widget that fetches and displays the coordinator's saved recurring activity templ...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

high low frontend Tier 1 🎨 frontend specialist
Integrate template pre-fill into registration screen
epic-coordinator-proxy-registration-core-task-007

Add the RecurringTemplateSelector as an optional pre-fill affordance at the top of ProxyRegistrationScreen. When the coo...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

high low frontend Tier 3 🎨 frontend specialist
Add accessibility semantics to registration screen
epic-coordinator-proxy-registration-core-task-012

Apply WCAG 2.2 AA semantics throughout ProxyRegistrationScreen: add Semantics wrappers with meaningful labels to all for...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

high low frontend Tier 6 🎨 frontend specialist
Wire RecurringTemplateSelector to repository layer
epic-coordinator-proxy-registration-core-task-005

Connect the RecurringTemplateSelector widget to the recurring_activity_templates Supabase table via Riverpod provider. I...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

high low integration Tier 2 🔗 integration specialist
Write integration tests for ProxyRegistrationService
epic-coordinator-proxy-registration-core-task-011

Write integration tests using a Supabase local emulator for ProxyRegistrationService covering: full happy-path creation ...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

high medium testing Tier 3 🧪 testing specialist
Widget tests for ProxyRegistrationScreen flows
epic-coordinator-proxy-registration-core-task-013

Write flutter_test widget tests for ProxyRegistrationScreen covering: empty form validation display, template pre-fill p...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

high medium testing Tier 7 🧪 testing specialist
End-to-end test for single proxy registration journey
epic-coordinator-proxy-registration-core-task-014

Write an integration_test (Flutter driver) end-to-end test that simulates the complete coordinator journey: open ProxyRe...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

high high testing Tier 8 🧪 testing specialist
Define ProxyActivity domain models and interfaces
epic-coordinator-proxy-registration-core-task-001

Create the core Dart data models for proxy activity records, including ProxyActivityRecord with dual attribution fields ...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

critical low backend Tier 0 ⚙ backend specialist
Implement ActivityAttributionValidator core rules
epic-coordinator-proxy-registration-core-task-002

Build the ActivityAttributionValidator service with the three primary validation rules: (1) attributed mentor must diffe...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

critical medium backend Tier 1 ⚙ backend specialist
Implement ProxyRegistrationService orchestration logic
epic-coordinator-proxy-registration-core-task-008

Build ProxyRegistrationService that orchestrates the full single-proxy creation flow: (1) invoke ActivityAttributionVali...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

critical medium backend Tier 2 ⚙ backend specialist
Build ProxyRegistrationScreen scaffold and form state
epic-coordinator-proxy-registration-core-task-006

Create the ProxyRegistrationScreen StatefulWidget with form fields for activity type, date, start time, duration, and no...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

critical medium frontend Tier 2 🎨 frontend specialist
Connect registration screen submit to ProxyRegistrationService
epic-coordinator-proxy-registration-core-task-009

Wire the ProxyRegistrationScreen submit action through the ProxyRegistrationFormCubit to the ProxyRegistrationService. H...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

critical medium frontend Tier 4 🎨 frontend specialist
Implement duplicate detection UX in registration screen
epic-coordinator-proxy-registration-core-task-010

When ActivityAttributionValidator returns a duplicate warning (same mentor, overlapping time window), display a non-bloc...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

critical medium frontend Tier 5 🎨 frontend specialist
Write unit tests for attribution validator rules
epic-coordinator-proxy-registration-core-task-003

Write exhaustive unit tests for ActivityAttributionValidator covering: self-attribution rejection, out-of-scope mentor r...

Core Business Logic and Single Proxy UI Flow · Coordinator Proxy Registration for Contacts

critical medium testing Tier 2 🧪 testing specialist
Build Proxy Confirmation Screen UI
epic-coordinator-proxy-registration-bulk-orchestration-task-004

Implement the ProxyConfirmationScreen widget that presents a summary of a single proxy registration before final submiss...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

medium low frontend Tier 1 🎨 frontend specialist
Build Recurring Template Selector Widget
epic-coordinator-proxy-registration-bulk-orchestration-task-007

Implement the RecurringTemplateSelectorWidget that displays a list of saved recurring activity templates for the coordin...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

medium low frontend Tier 1 🎨 frontend specialist
Implement Proxy Audit Logger Infrastructure
epic-coordinator-proxy-registration-bulk-orchestration-task-003

Create the ProxyAuditLogger infrastructure component that records all proxy registration events to a dedicated audit log...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

medium low infrastructure Tier 0 🏗 infrastructure specialist
Implement Activity Attribution Validator Service
epic-coordinator-proxy-registration-bulk-orchestration-task-006

Create the ActivityAttributionValidator service that validates proxy activity records before submission. Validate that t...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

high medium backend Tier 1 ⚙ backend specialist
Implement Proxy Registration Service
epic-coordinator-proxy-registration-bulk-orchestration-task-009

Build the ProxyRegistrationService that handles the business logic for submitting a single proxy activity record. Valida...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

high medium backend Tier 2 ⚙ backend specialist
Implement Recurring Activity Template Repository
epic-coordinator-proxy-registration-bulk-orchestration-task-001

Create the RecurringTemplateRepository data layer that fetches, caches, and persists recurring activity templates from S...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

high low database Tier 0 🗄 database specialist
Implement Proxy Activity Repository
epic-coordinator-proxy-registration-bulk-orchestration-task-002

Build the ProxyActivityRepository that handles all database operations for proxy activity records in Supabase. Implement...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

high medium database Tier 0 🗄 database specialist
Build Mentor Multi-Select Widget
epic-coordinator-proxy-registration-bulk-orchestration-task-005

Implement the MentorMultiSelectWidget that allows coordinators to search and select multiple peer mentors from a scrolla...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

high medium frontend Tier 1 🎨 frontend specialist
Build Proxy Registration Screen (Single Flow)
epic-coordinator-proxy-registration-bulk-orchestration-task-008

Implement the ProxyRegistrationScreen for single-mentor proxy registration. Compose the ProxyActivityForm, MentorSingleS...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

high medium frontend Tier 2 🎨 frontend specialist
Implement Bulk Registration Orchestrator Service
epic-coordinator-proxy-registration-bulk-orchestration-task-011

Build the BulkRegistrationOrchestrator that fans out a single bulk submission request into individual per-mentor proxy a...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

critical high backend Tier 3 ⚙ backend specialist
Build Bulk Proxy Registration Screen
epic-coordinator-proxy-registration-bulk-orchestration-task-010

Implement the BulkProxyRegistrationScreen that hosts the RecurringTemplateSelectorWidget and MentorMultiSelectWidget sid...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

critical high frontend Tier 3 🎨 frontend specialist
Implement Proxy Registration BLoC (Unified State)
epic-coordinator-proxy-registration-bulk-orchestration-task-012

Build the ProxyRegistrationBLoC using the flutter_bloc library to provide unified state management for both single and b...

Bulk Registration Orchestration and Unified State Management · Coordinator Proxy Registration for Contacts

critical medium frontend Tier 4 🎨 frontend specialist
Document data access layer contracts and security model
epic-coordinator-statistics-dashboard-foundation-task-012

Write developer documentation for the complete data access layer: StatsRepository API contracts, StatsCacheManager inval...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

medium low documentation Tier 5 📝 documentor
Implement cache invalidation on mutation events
epic-coordinator-statistics-dashboard-foundation-task-005

Wire the StatsCacheManager's explicit invalidation to all mutation events that affect aggregated stats: activity registr...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

high medium integration Tier 2 🔗 integration specialist
Write unit tests for RoleAccessValidator
epic-coordinator-statistics-dashboard-foundation-task-009

Create comprehensive unit tests for the RoleAccessValidator covering coordinator-scoped access approval, coordinator cro...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

high low testing Tier 3 🧪 testing specialist
Write unit tests for StatsCacheManager
epic-coordinator-statistics-dashboard-foundation-task-010

Create unit tests for StatsCacheManager covering TTL expiration, explicit invalidation by cache partition key, LRU evict...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

high low testing Tier 3 🧪 testing specialist
Write integration tests for StatsRepository
epic-coordinator-statistics-dashboard-foundation-task-011

Create integration tests for StatsRepository against a Supabase test instance with seeded activity data. Test period fil...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

high medium testing Tier 4 🧪 testing specialist
Define typed Dart models for stats rows
epic-coordinator-statistics-dashboard-foundation-task-001

Create all typed Dart model classes that represent the stats data contract consumed by higher tiers. This includes Stats...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

critical medium backend Tier 0 ⚙ backend specialist
Implement RoleAccessValidator scope enforcement
epic-coordinator-statistics-dashboard-foundation-task-003

Implement the RoleAccessValidator class that enforces coordinator-scoped vs org-admin-scoped query boundaries as a defen...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

critical low backend Tier 1 ⚙ backend specialist
Implement StatsCacheManager with 15-minute TTL
epic-coordinator-statistics-dashboard-foundation-task-004

Build the StatsCacheManager that stores query results in memory with a 15-minute TTL to prevent repeated heavy queries d...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

critical low backend Tier 1 ⚙ backend specialist
Build StatsRepository with period and activity-type filters
epic-coordinator-statistics-dashboard-foundation-task-006

Implement the StatsRepository class that queries the pre-aggregated Supabase views with period and activity-type filters...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

critical medium backend Tier 2 ⚙ backend specialist
Author Supabase pre-aggregated stats views migration
epic-coordinator-statistics-dashboard-foundation-task-002

Write the database migration that creates pre-aggregated Supabase views keyed by org_id + coordinator_id + month. Views ...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

critical high database Tier 1 🗄 database specialist
Add RLS policy validation for stats views
epic-coordinator-statistics-dashboard-foundation-task-008

Verify that Supabase Row Level Security policies on the pre-aggregated views enforce org_id and coordinator_id boundarie...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

critical medium database Tier 2 🗄 database specialist
Integrate StatsCacheManager into StatsRepository
epic-coordinator-statistics-dashboard-foundation-task-007

Wire the StatsCacheManager into StatsRepository so all query methods check the cache before hitting Supabase and populat...

Statistics Data Foundation & Infrastructure · Coordinator Statistics Dashboard

critical low integration Tier 3 🔗 integration specialist
Build Phase 4 Contribution Data Structure
epic-coordinator-statistics-dashboard-core-logic-task-012

Finalise and document the ContributionData model in PersonalStatsService to be forward-compatible with the Phase 4 Spoti...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

medium low backend Tier 3 ⚙ backend specialist
Implement Role Access Validator for Stats Scope
epic-coordinator-statistics-dashboard-core-logic-task-004

Build RoleAccessValidator that determines the correct data scope for a stats query based on the authenticated user's rol...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high low backend Tier 1 ⚙ backend specialist
Implement Personal Stats Service
epic-coordinator-statistics-dashboard-core-logic-task-006

Implement PersonalStatsService that fetches a single peer mentor's activity history from StatsRepository, applies the 15...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high medium backend Tier 2 ⚙ backend specialist
Add Filter Change Event Handling to StatsBloc
epic-coordinator-statistics-dashboard-core-logic-task-011

Wire StatsBloc FilterChanged event to update the active StatsFilter (period preset: 30d / 90d / 12m / custom date range)...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high low backend Tier 4 🎨 frontend specialist
Build fl_chart Adapter with Design Tokens
epic-coordinator-statistics-dashboard-core-logic-task-005

Create the FlChartAdapter infrastructure class that centralises all fl_chart configuration: bar chart BarData and BarTou...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high medium infrastructure Tier 1 🎨 frontend specialist
Implement Personal Stats BLoC
epic-coordinator-statistics-dashboard-core-logic-task-008

Implement PersonalStatsBloC (flutter_bloc Bloc) with LoadPersonalStats event, and PersonalStatsLoading / PersonalStatsLo...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high low infrastructure Tier 3 🎨 frontend specialist
Add Activity Stream Auto-Refresh to StatsBloc
epic-coordinator-statistics-dashboard-core-logic-task-010

Extend StatsBloc to subscribe to the activity registration Supabase Realtime stream on init. When a new activity registr...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high medium integration Tier 4 🔗 integration specialist
Unit Tests for Stats Services and Cache
epic-coordinator-statistics-dashboard-core-logic-task-013

Write flutter_test unit tests covering: StatsCacheManager TTL expiry and invalidation, RoleAccessValidator scope resolut...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high medium testing Tier 4 🧪 testing specialist
BLoC and fl_chart Adapter Integration Tests
epic-coordinator-statistics-dashboard-core-logic-task-014

Write bloc_test unit tests for StatsBloc and PersonalStatsBloC covering: loading/loaded/error state transitions, FilterC...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

high medium testing Tier 5 🧪 testing specialist
Define Stats Data Models and Interfaces
epic-coordinator-statistics-dashboard-core-logic-task-001

Define all Dart data model classes and repository/service interfaces for the statistics domain: StatsFilter, KpiCardView...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

critical medium backend Tier 0 ⚙ backend specialist
Implement Statistics Cache Manager
epic-coordinator-statistics-dashboard-core-logic-task-002

Build the StatsCacheManager class that stores aggregated statistics results keyed by scope+filter combinations with a 15...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

critical low backend Tier 1 ⚙ backend specialist
Implement Coordinator Stats Service
epic-coordinator-statistics-dashboard-core-logic-task-007

Implement CoordinatorStatsService that fetches aggregated statistics from StatsRepository using the scope determined by ...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

critical high backend Tier 2 ⚙ backend specialist
Implement Statistics Repository with Supabase Views
epic-coordinator-statistics-dashboard-core-logic-task-003

Implement StatsRepository that queries the Supabase stats views (activity counts by type, by period, by peer mentor) usi...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

critical medium database Tier 1 🗄 database specialist
Implement Coordinator Stats BLoC Core
epic-coordinator-statistics-dashboard-core-logic-task-009

Implement StatsBloc (flutter_bloc Bloc) with LoadCoordinatorStats and FilterChanged events, and StatsLoading / StatsLoad...

Core Statistics Services, BLoC State Management & Chart Adapter · Coordinator Statistics Dashboard

critical medium infrastructure Tier 3 🎨 frontend specialist
Implement loading skeleton states for all dashboard widgets
epic-coordinator-statistics-dashboard-ui-task-010

Add shimmer/skeleton loading states to all dashboard widgets: StatsSummaryCards skeleton (4 grey card placeholders), cha...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

medium low frontend Tier 5 🎨 frontend specialist
Implement error states and retry logic in dashboard
epic-coordinator-statistics-dashboard-ui-task-011

Add error state UI to all dashboard sections. When the BLoC emits an error state, each widget section shows an inline er...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

medium low frontend Tier 6 🎨 frontend specialist
Dashboard accessibility automated test suite
epic-coordinator-statistics-dashboard-ui-task-017

Run the accessibility test harness against the full CoordinatorStatsDashboardScreen. Use flutter_test's SemanticsControl...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

medium medium testing Tier 9 🧪 testing specialist
Implement StatsPeriodFilterBar widget
epic-coordinator-statistics-dashboard-ui-task-001

Build the StatsPeriodFilterBar UI widget that allows coordinators to select time periods (week, month, quarter, year, cu...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high low frontend Tier 0 🎨 frontend specialist
Implement StatsSummaryCards row widget
epic-coordinator-statistics-dashboard-ui-task-002

Build the StatsSummaryCards component displaying four tappable KPI cards: total activities, active peer mentors, hours c...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high low frontend Tier 0 🎨 frontend specialist
Implement PeerMentorStatsList widget
epic-coordinator-statistics-dashboard-ui-task-003

Build the PeerMentorStatsList widget that renders a scrollable list of peer mentor rows with name, activity count, hours...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 0 🎨 frontend specialist
Integrate fl_chart for bar chart rendering
epic-coordinator-statistics-dashboard-ui-task-004

Wire the fl_chart adapter into the MonthlyActivityBarChart widget. Implement BarChart configuration with monthly x-axis ...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 1 🎨 frontend specialist
Implement MonthlyActivityBarChart widget
epic-coordinator-statistics-dashboard-ui-task-005

Build the MonthlyActivityBarChart widget using the fl_chart adapter. Display monthly activity counts as vertical bars fo...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 2 🎨 frontend specialist
Integrate fl_chart for donut chart rendering
epic-coordinator-statistics-dashboard-ui-task-006

Wire the fl_chart adapter into the ActivityTypeDonutChart widget. Implement PieChart/DonutChart configuration with activ...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 1 🎨 frontend specialist
Implement ActivityTypeDonutChart widget
epic-coordinator-statistics-dashboard-ui-task-007

Build the ActivityTypeDonutChart widget using the fl_chart adapter. Show activity type distribution as donut segments wi...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 2 🎨 frontend specialist
Implement PersonalStatsView widget
epic-coordinator-statistics-dashboard-ui-task-008

Build the PersonalStatsView widget for individual peer mentor contribution display. Include a personal summary card row,...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 3 🎨 frontend specialist
Wire StatsPeriodFilterBar to BLoC and data refresh
epic-coordinator-statistics-dashboard-ui-task-012

Connect the StatsPeriodFilterBar widget to the Coordinator Statistics BLoC so that period or activity-type filter change...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 5 🎨 frontend specialist
Implement role-based scope switching for coordinator vs org-admin
epic-coordinator-statistics-dashboard-ui-task-013

Add a role scope toggle to CoordinatorStatsDashboardScreen that switches between coordinator-scoped data (own chapter on...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 5 🎨 frontend specialist
Accessibility audit and semantic label pass for all widgets
epic-coordinator-statistics-dashboard-ui-task-014

Conduct a full accessibility pass across all dashboard widgets. Verify every chart bar and donut segment has a Semantics...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium frontend Tier 6 🎨 frontend specialist
Widget unit tests for all dashboard UI components
epic-coordinator-statistics-dashboard-ui-task-015

Write flutter_test widget tests for StatsSummaryCards, StatsPeriodFilterBar, PeerMentorStatsList, MonthlyActivityBarChar...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium testing Tier 7 🧪 testing specialist
Integration test: full dashboard user flow
epic-coordinator-statistics-dashboard-ui-task-016

Write integration tests (flutter_test integration_test package) covering the full coordinator dashboard flow: open dashb...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

high medium testing Tier 8 🧪 testing specialist
Build CoordinatorStatsDashboardScreen scaffold
epic-coordinator-statistics-dashboard-ui-task-009

Create the CoordinatorStatsDashboardScreen top-level widget that orchestrates all sub-widgets: StatsPeriodFilterBar at t...

Dashboard UI Components, Charts & Personal Stats View · Coordinator Statistics Dashboard

critical high frontend Tier 4 ⚡ fullstack developer
Implement ActivityAttachmentRepository soft-delete
epic-document-attachments-foundation-task-005

Add the softDeleteAttachment(attachmentId) method to ActivityAttachmentRepository. The method sets deleted_at to the cur...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

high low backend Tier 3 ⚙ backend specialist
Implement SupabaseStorageAdapter signed URL generation
epic-document-attachments-foundation-task-007

Add the createSignedUrl(storagePath, expiresInSeconds) method to SupabaseStorageAdapter. The method requests a time-limi...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

high low infrastructure Tier 2 🏗 infrastructure specialist
Integration test: repository and storage adapter end-to-end
epic-document-attachments-foundation-task-008

Write integration tests that exercise the complete data layer together: upload a file via SupabaseStorageAdapter, insert...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

high medium testing Tier 4 🧪 testing specialist
Implement ActivityAttachmentRepository insert and query
epic-document-attachments-foundation-task-004

Implement the ActivityAttachmentRepository Dart class with typed methods: insertAttachment(ActivityAttachment) inserts a...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

critical low backend Tier 2 ⚙ backend specialist
Create activity_attachments database migration
epic-document-attachments-foundation-task-001

Write and apply a Supabase migration that creates the activity_attachments table with columns: id (uuid PK), activity_id...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

critical low database Tier 0 🗄 database specialist
Configure RLS policies on activity_attachments table
epic-document-attachments-foundation-task-002

Define Row Level Security policies on activity_attachments scoped to org_id. Coordinators and admins within the same org...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

critical medium database Tier 1 🗄 database specialist
Configure Supabase Storage bucket and bucket RLS
epic-document-attachments-foundation-task-003

Create the 'activity-attachments' storage bucket in Supabase with private access. Implement bucket-level RLS policies so...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Implement SupabaseStorageAdapter upload and delete
epic-document-attachments-foundation-task-006

Implement the SupabaseStorageAdapter Dart class with typed methods: uploadFile(orgId, activityId, fileName, bytes, mimeT...

Document Attachments — Data Layer & Storage Infrastructure · Document Attachments for Activities

critical low infrastructure Tier 1 🏗 infrastructure specialist
Implement in-memory signed URL cache with configurable TTL
epic-document-attachments-services-task-005

Implement the in-memory LRU or Map-based cache inside AttachmentSignedUrlService. Cache key is the storage object path; ...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

high medium backend Tier 1 ⚙ backend specialist
Implement cache invalidation on attachment deletion
epic-document-attachments-services-task-006

Add an invalidateCacheEntry(storagePath) method to AttachmentSignedUrlService that removes the cache entry for the given...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

high low backend Tier 2 ⚙ backend specialist
Register services in Riverpod provider graph
epic-document-attachments-services-task-008

Create Riverpod providers for AttachmentUploadService and AttachmentSignedUrlService. Inject StorageAdapter and Activity...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

high low backend Tier 4 ⚙ backend specialist
Write unit tests for upload validation and rollback logic
epic-document-attachments-services-task-009

Write flutter_test unit tests for AttachmentUploadService covering: file_too_large rejection at exactly 10 MB + 1 byte, ...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

high medium testing Tier 3 🧪 testing specialist
Write unit tests for signed URL cache and invalidation
epic-document-attachments-services-task-010

Write flutter_test unit tests for AttachmentSignedUrlService covering: cache hit returns cached URL without calling Supa...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

high medium testing Tier 3 🧪 testing specialist
Define AttachmentUploadService interface and error types
epic-document-attachments-services-task-001

Define the Dart abstract class for AttachmentUploadService with typed method signatures for upload, delete, and validati...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

critical low backend Tier 0 ⚙ backend specialist
Define AttachmentSignedUrlService interface and error types
epic-document-attachments-services-task-002

Define the Dart abstract class for AttachmentSignedUrlService with typed method signatures for generateSignedUrl, invali...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

critical low backend Tier 0 ⚙ backend specialist
Implement file validation logic in AttachmentUploadService
epic-document-attachments-services-task-003

Implement the validation layer inside AttachmentUploadService: enforce 10 MB maximum file size by reading the byte lengt...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

critical low backend Tier 1 ⚙ backend specialist
Implement upload orchestration with atomic rollback
epic-document-attachments-services-task-004

Implement the core upload flow in AttachmentUploadService: call StorageAdapter to upload the binary to the org-scoped Su...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

critical medium backend Tier 2 ⚙ backend specialist
Integrate services with AttachmentBloc/Cubit state machine
epic-document-attachments-services-task-007

Wire AttachmentUploadService and AttachmentSignedUrlService into the AttachmentBloc or Cubit. Map service results to Blo...

Document Attachments — Upload & Signed URL Services · Document Attachments for Activities

critical medium integration Tier 3 ⚡ fullstack developer
Add share and download action to PreviewModal
epic-document-attachments-ui-task-005

Implement the share/download action button in AttachmentPreviewModal using the platform share sheet (share_plus package)...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

medium low frontend Tier 2 🎨 frontend specialist
Build AttachmentThumbnailGrid base widget
epic-document-attachments-ui-task-001

Implement the AttachmentThumbnailGrid Flutter widget that renders a compact grid within the activity detail view. Displa...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

high low frontend Tier 0 🎨 frontend specialist
Add tap-to-preview and role-gated delete to ThumbnailGrid
epic-document-attachments-ui-task-002

Extend AttachmentThumbnailGrid with tap gesture that triggers navigation to the preview modal, and a delete action butto...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

high low frontend Tier 1 🎨 frontend specialist
Implement AttachmentPreviewModal scaffold
epic-document-attachments-ui-task-003

Build the full-screen modal shell for AttachmentPreviewModal including routing/navigation setup, close button (minimum 4...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

high low frontend Tier 0 🎨 frontend specialist
Add image pinch-to-zoom and PDF scroll rendering
epic-document-attachments-ui-task-004

Extend AttachmentPreviewModal with InteractiveViewer for pinch-to-zoom on JPEG/PNG content loaded via signed URL, and a ...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

high medium frontend Tier 1 🎨 frontend specialist
Build AttachmentPickerUI selection sheet
epic-document-attachments-ui-task-006

Implement AttachmentPickerUI as a bottom sheet widget offering two source options: camera roll (image_picker) and file s...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

high medium frontend Tier 0 🎨 frontend specialist
Enforce 5-attachment limit with inline validation
epic-document-attachments-ui-task-007

Add attachment count tracking to AttachmentPickerUI. Disable the confirm/add action and display an inline plain-language...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

high low frontend Tier 1 🎨 frontend specialist
Write widget tests for all three attachment UI components
epic-document-attachments-ui-task-011

Write Flutter widget tests covering: AttachmentPickerUI source selection, MIME filter rejection, 5-attachment limit enfo...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

high medium testing Tier 4 🧪 testing specialist
Add WCAG 2.2 AA semantics to ThumbnailGrid
epic-document-attachments-ui-task-008

Apply Semantics widgets to AttachmentThumbnailGrid: semantic labels for each thumbnail including file name and type, acc...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

critical low frontend Tier 2 🎨 frontend specialist
Add WCAG 2.2 AA semantics to PreviewModal
epic-document-attachments-ui-task-009

Apply full WCAG 2.2 AA accessibility to AttachmentPreviewModal: semantic labels for the pinch-to-zoom area, screen reade...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

critical low frontend Tier 3 🎨 frontend specialist
Add WCAG 2.2 AA semantics to PickerUI with upload progress announcements
epic-document-attachments-ui-task-010

Apply full WCAG 2.2 AA accessibility to AttachmentPickerUI: semantic labels for source selection options (camera roll, f...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

critical medium frontend Tier 2 🎨 frontend specialist
Run accessibility audit and fix WCAG violations
epic-document-attachments-ui-task-012

Execute flutter_test Semantics tree assertions and manual VoiceOver/TalkBack walkthroughs for all three components. Veri...

Document Attachments — User Interface & Accessibility · Document Attachments for Activities

critical medium testing Tier 5 🎨 frontend specialist
Document data foundation architecture and RLS policy decisions
epic-driver-and-confidentiality-management-foundation-task-014

Write developer-facing documentation covering: the Supabase table schemas for all 4 tables, the RLS policy rationale for...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

medium low documentation Tier 5 📝 documentor
Write integration tests for repository and audit logger layers
epic-driver-and-confidentiality-management-foundation-task-012

Write integration tests for DeclarationTemplateRepository (versioned fetch), DriverAssignmentRepository (CRUD and soft-d...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

high medium testing Tier 4 🧪 testing specialist
Write unit tests for OrgFeatureFlagService with mock Supabase
epic-driver-and-confidentiality-management-foundation-task-013

Write unit tests for OrgFeatureFlagService covering: flag enabled returns true, flag disabled returns false, missing rec...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

high low testing Tier 3 🧪 testing specialist
Implement DeclarationTemplateRepository with versioned retrieval
epic-driver-and-confidentiality-management-foundation-task-002

Implement the Dart repository class for declaration templates. Expose methods for fetching the active template by org, r...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical low backend Tier 1 ⚙ backend specialist
Implement DriverAssignmentRepository CRUD operations
epic-driver-and-confidentiality-management-foundation-task-004

Implement the Dart repository for driver assignments with methods for creating, reading, updating (status changes), and ...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical medium backend Tier 1 ⚙ backend specialist
Implement DeclarationRepository with lifecycle state management
epic-driver-and-confidentiality-management-foundation-task-006

Implement the Dart repository class for confidentiality declarations. Expose methods for creating a declaration (pending...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical medium backend Tier 2 ⚙ backend specialist
Implement DeclarationAuditLogger with insert-only write pattern
epic-driver-and-confidentiality-management-foundation-task-010

Implement the Dart audit logger component that writes immutable records to the declaration_audit_log table. Expose stron...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical medium backend Tier 3 ⚙ backend specialist
Implement OrgFeatureFlagService with runtime toggle and cache
epic-driver-and-confidentiality-management-foundation-task-011

Implement the Dart service that reads the org_feature_flags table via Supabase and exposes isFeatureEnabled(orgId, featu...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical low backend Tier 2 ⚙ backend specialist
Create declaration_templates Supabase table with versioning
epic-driver-and-confidentiality-management-foundation-task-001

Create the declaration_templates database table in Supabase with org-scoped RLS policies, version numbering, soft-delete...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical low database Tier 0 🗄 database specialist
Create driver_assignments Supabase table with RLS policies
epic-driver-and-confidentiality-management-foundation-task-003

Create the driver_assignments table in Supabase with org-scoped RLS policies. Include columns for driver identity, assig...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical medium database Tier 0 🗄 database specialist
Create confidentiality_declarations Supabase table with RLS
epic-driver-and-confidentiality-management-foundation-task-005

Create the confidentiality_declarations table with org-scoped RLS policies. Include columns for declaration content (enc...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical medium database Tier 1 🗄 database specialist
Create org_feature_flags Supabase table defaulted to disabled
epic-driver-and-confidentiality-management-foundation-task-007

Create the org_feature_flags table in Supabase with columns for org_id, feature_key (e.g., 'driver_and_confidentiality')...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical low database Tier 0 🗄 database specialist
Create declaration_audit_log Supabase table with immutability constraints
epic-driver-and-confidentiality-management-foundation-task-009

Create the declaration_audit_log table with columns for event_type (sent, opened, acknowledged, expired, revoked), decla...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical medium database Tier 2 🗄 database specialist
Implement DriverFeatureFlagConfig constants and model
epic-driver-and-confidentiality-management-foundation-task-008

Define the Dart constants, enums, and data models for the driver feature flag configuration. Include the feature key con...

Driver Administration Data Layer and Feature Flag Infrastructure · Driver Administration and Confidentiality Declarations

critical low infrastructure Tier 1 ⚙ backend specialist
Build assignment history retrieval with org scope
epic-driver-and-confidentiality-management-core-services-task-007

Add the assignment history retrieval method to the driver assignment service. The method must query the driver assignmen...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

medium medium backend Tier 2 ⚙ backend specialist
Implement signed URL generation for declarations
epic-driver-and-confidentiality-management-core-services-task-004

Extend the declaration storage adapter to generate short-lived signed URLs for authenticated drivers to download their e...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium backend Tier 3 ⚙ backend specialist
Build driver assignment fee validation logic
epic-driver-and-confidentiality-management-core-services-task-005

Implement the fee validation portion of the driver assignment service. When a coordinator registers a driver assignment ...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium backend Tier 0 ⚙ backend specialist
Implement expense workflow coordination in assignment
epic-driver-and-confidentiality-management-core-services-task-006

Within the driver assignment service, implement the routing logic that hands off to the expense approval workflow when f...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium backend Tier 1 ⚙ backend specialist
Validate scroll completion before acknowledgement
epic-driver-and-confidentiality-management-core-services-task-011

Add scroll validation to the declaration acknowledgement service. The service must reject acknowledgement submissions wh...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high low backend Tier 6 ⚙ backend specialist
Update declaration status and emit audit event
epic-driver-and-confidentiality-management-core-services-task-012

After a successful acknowledgement record is created, the declaration acknowledgement service must update the declaratio...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium backend Tier 7 ⚙ backend specialist
Implement push notification dispatch for declarations
epic-driver-and-confidentiality-management-core-services-task-013

Build the initial push delivery method in the declaration notification service. When triggered by the declaration manage...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium backend Tier 5 ⚙ backend specialist
Schedule follow-up reminder notifications
epic-driver-and-confidentiality-management-core-services-task-014

Implement the follow-up reminder scheduling logic in the declaration notification service. After initial dispatch, sched...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium backend Tier 6 ⚙ backend specialist
Notify coordinators on driver acknowledgement
epic-driver-and-confidentiality-management-core-services-task-015

Add coordinator acknowledgement alert logic to the declaration notification service. When a driver acknowledges a declar...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium backend Tier 8 🔗 integration specialist
Integration test: encrypt-upload-acknowledge flow
epic-driver-and-confidentiality-management-core-services-task-016

Write end-to-end integration tests covering the full declaration lifecycle: template rendering → encryption → storage up...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high high testing Tier 9 🧪 testing specialist
Integration test: driver assignment fee routing
epic-driver-and-confidentiality-management-core-services-task-017

Write integration tests for the driver assignment service covering both fee paths: low-value assignment confirmed direct...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

high medium testing Tier 10 🧪 testing specialist
Implement org-scoped encryption key management
epic-driver-and-confidentiality-management-core-services-task-001

Build the core key derivation and management logic within the declaration encryption service. Each organization must hav...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

critical high backend Tier 0 ⚙ backend specialist
Build tamper-evident encrypted blob creation
epic-driver-and-confidentiality-management-core-services-task-002

Extend the declaration encryption service to produce tamper-evident blobs by appending an HMAC-SHA256 signature over the...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

critical high backend Tier 1 ⚙ backend specialist
Implement template-to-document generation
epic-driver-and-confidentiality-management-core-services-task-008

Build the declaration template rendering logic inside the declaration management service. Given a template ID and a driv...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

critical medium backend Tier 0 ⚙ backend specialist
Orchestrate encrypt-upload-notify lifecycle
epic-driver-and-confidentiality-management-core-services-task-009

Implement the full declaration send lifecycle in the declaration management service: render document from template, encr...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

critical high backend Tier 4 ⚙ backend specialist
Record checkbox e-signature with UTC timestamp
epic-driver-and-confidentiality-management-core-services-task-010

Implement the acknowledgement recording method in the declaration acknowledgement service. When a driver submits their a...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

critical medium backend Tier 5 ⚙ backend specialist
Implement Supabase Storage upload adapter
epic-driver-and-confidentiality-management-core-services-task-003

Build the declaration storage adapter that accepts an encrypted blob from the encryption service and uploads it to the c...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

critical medium integration Tier 2 🔗 integration specialist
Security test: encryption integrity and org isolation
epic-driver-and-confidentiality-management-core-services-task-018

Perform targeted security tests on the encryption and storage layer: verify that blobs from one org cannot be decrypted ...

Driver Assignment and Declaration Business Logic Services · Driver Administration and Confidentiality Declarations

critical high testing Tier 11 🧪 testing specialist
Add Declaration Status Badge to Sidebar Navigation
epic-driver-and-confidentiality-management-ui-task-012

Integrate the DeclarationStatusBadge into the sidebar navigation entry for the driver assignment list so coordinators ca...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

medium low frontend Tier 2 🎨 frontend specialist
Implement Declaration Status Badge Widget
epic-driver-and-confidentiality-management-ui-task-001

Build the reusable DeclarationStatusBadge widget that displays the current declaration state (pending, sent, acknowledge...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high low frontend Tier 0 🎨 frontend specialist
Create Declaration Send Screen UI Shell
epic-driver-and-confidentiality-management-ui-task-004

Build the structural shell for the DeclarationSendScreen including the AppBar, scrollable body, template preview section...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium frontend Tier 1 🎨 frontend specialist
Integrate Declaration Send Screen with BLoC
epic-driver-and-confidentiality-management-ui-task-005

Implement the BLoC/Cubit state management layer for the DeclarationSendScreen. States must cover loading, templateLoaded...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium frontend Tier 2 🎨 frontend specialist
Build Driver Assignment History List UI
epic-driver-and-confidentiality-management-ui-task-008

Implement the DriverAssignmentList widget with paginated display of driver assignments. Each list item must show assignm...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium frontend Tier 1 🎨 frontend specialist
Connect Assignment List to BLoC and Navigation
epic-driver-and-confidentiality-management-ui-task-009

Wire the DriverAssignmentList to a BLoC that fetches paginated assignments from the DriverAssignmentService. Implement n...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium frontend Tier 2 🎨 frontend specialist
Implement Driver Fee Registration Form Shell
epic-driver-and-confidentiality-management-ui-task-010

Build the DriverFeeRegistrationForm widget shell including contact selector field (reusing the existing contact picker),...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium frontend Tier 2 🎨 frontend specialist
Wire Driver Fee Form to BLoC and Validation
epic-driver-and-confidentiality-management-ui-task-011

Implement the BLoC layer for the DriverFeeRegistrationForm covering states: idle, validating, declarationRequired, submi...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium frontend Tier 3 🎨 frontend specialist
Write Widget Tests for Driver UI Components
epic-driver-and-confidentiality-management-ui-task-014

Write Flutter widget tests for all driver UI components: DriverFeatureFlagGuard (enabled/disabled flag states), Declarat...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium testing Tier 5 🧪 testing specialist
Integration Test: End-to-End Declaration Flow
epic-driver-and-confidentiality-management-ui-task-015

Write integration tests covering the complete declaration flow: coordinator views driver assignment list → taps pending ...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

high medium testing Tier 6 🧪 testing specialist
Build Driver Feature Flag Guard Widget
epic-driver-and-confidentiality-management-ui-task-002

Implement the DriverFeatureFlagGuard widget that wraps all driver-related UI subtrees and conditionally renders or suppr...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

critical low frontend Tier 0 🎨 frontend specialist
Build WCAG 2.2 AA Declaration Acknowledgement Screen
epic-driver-and-confidentiality-management-ui-task-006

Implement the DeclarationAcknowledgementScreen with full WCAG 2.2 AA compliance. The screen must include a scrollable de...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

critical medium frontend Tier 1 🎨 frontend specialist
Wire Acknowledgement Screen to Service and Record Timestamp
epic-driver-and-confidentiality-management-ui-task-007

Connect the DeclarationAcknowledgementScreen to the DeclarationAcknowledgementService via BLoC. On confirmation submissi...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

critical medium frontend Tier 2 🎨 frontend specialist
Wire Feature Flag Guard to Org Service
epic-driver-and-confidentiality-management-ui-task-003

Connect the DriverFeatureFlagGuard widget to the OrgFeatureFlagService Riverpod provider so that guard state reacts to l...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

critical low integration Tier 1 🎨 frontend specialist
Implement WCAG Accessibility Audit for Driver Screens
epic-driver-and-confidentiality-management-ui-task-013

Run a comprehensive WCAG 2.2 AA accessibility audit across all driver UI screens: DriverAssignmentList, DeclarationSendS...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

critical medium testing Tier 4 🧪 testing specialist
Feature Flag Guard Smoke Test Across All Orgs
epic-driver-and-confidentiality-management-ui-task-016

Write integration and manual test scenarios that verify zero driver UI elements are rendered for organizations without t...

Driver Administration User Interface and Feature Flag Gating · Driver Administration and Confidentiality Declarations

critical low testing Tier 6 🧪 testing specialist
Register repositories and middleware in DI container
epic-duplicate-activity-detection-foundation-task-010

Register DuplicateCheckRepository, DuplicateQueueRepository, and DuplicateReviewedFlagMiddleware in the Riverpod provide...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

high low infrastructure Tier 4 ⚙ backend specialist
Write unit and integration tests for repositories
epic-duplicate-activity-detection-foundation-task-011

Write flutter_test unit tests for DuplicateCheckRepository (mock Supabase RPC responses, test typed exception mapping, t...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

high medium testing Tier 4 🧪 testing specialist
Performance validation: sub-500ms query benchmark
epic-duplicate-activity-detection-foundation-task-012

Execute query performance benchmarks against the check_activity_duplicates RPC on a dataset representative of NHF's 1,40...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

high medium testing Tier 4 🗄 database specialist
Define DuplicateCandidate and DuplicateCheckResult Dart models
epic-duplicate-activity-detection-foundation-task-005

Implement the Dart model classes DuplicateCandidate and DuplicateCheckResult with full JSON serialization (fromJson/toJs...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical low backend Tier 0 ⚙ backend specialist
Implement DuplicateCheckRepository with RPC wrapper
epic-duplicate-activity-detection-foundation-task-006

Build the DuplicateCheckRepository Dart class that wraps the check_activity_duplicates Supabase RPC. Expose checkForDupl...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical medium backend Tier 2 ⚙ backend specialist
Implement DuplicateQueueRepository with view queries
epic-duplicate-activity-detection-foundation-task-007

Build the DuplicateQueueRepository Dart class that queries the coordinator_duplicate_queue view. Expose fetchQueue() ret...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical medium backend Tier 3 ⚙ backend specialist
Create database migration for composite index
epic-duplicate-activity-detection-foundation-task-001

Write and apply a Supabase migration script that creates the composite index on (peer_mentor_id, activity_type_id, date,...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical medium database Tier 0 🗄 database specialist
Implement check_activity_duplicates Supabase RPC
epic-duplicate-activity-detection-foundation-task-002

Create the PostgreSQL function check_activity_duplicates as a Supabase RPC. The function accepts peer_mentor_id, activit...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical medium database Tier 1 🗄 database specialist
Create coordinator_duplicate_queue database view
epic-duplicate-activity-detection-foundation-task-003

Define the coordinator_duplicate_queue view in Supabase that surfaces unresolved duplicate candidates scoped to the auth...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical medium database Tier 2 🗄 database specialist
Add duplicate_reviewed column migration
epic-duplicate-activity-detection-foundation-task-004

Write Supabase migration to add the duplicate_reviewed boolean column (default false, not null) to the activities table....

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical low database Tier 0 🗄 database specialist
Configure chapter-scoped RLS policies for duplicate tables
epic-duplicate-activity-detection-foundation-task-009

Write and apply RLS policies on the activities table (for the duplicate_reviewed column) and the coordinator_duplicate_q...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical medium database Tier 3 🗄 database specialist
Implement duplicate-reviewed-flag middleware
epic-duplicate-activity-detection-foundation-task-008

Create the DuplicateReviewedFlagMiddleware class that intercepts every activity insert payload (wizard, bulk registratio...

Duplicate Activity Detection — Data Layer & Infrastructure · Duplicate Activity Detection

critical low infrastructure Tier 1 ⚙ backend specialist
Implement unresolved count query for nav badge display
epic-duplicate-activity-detection-core-logic-task-006

Implement the getUnresolvedCount() method in DeduplicationQueueService that returns an integer count of unresolved pairs...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

high low backend Tier 2 ⚙ backend specialist
Implement divergent field highlighting and accessibility semantics
epic-duplicate-activity-detection-core-logic-task-010

Style divergent fields in DuplicateComparisonPanel with a high-contrast highlight using design system color tokens (ambe...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

high low frontend Tier 2 🎨 frontend specialist
Unit and widget tests for service layer and comparison panel
epic-duplicate-activity-detection-core-logic-task-011

Write unit tests for DuplicateDetectionService covering: RPC result mapping, blockable duplicate threshold evaluation at...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

high medium testing Tier 4 🧪 testing specialist
Define DuplicateDetectionService interface and domain models
epic-duplicate-activity-detection-core-logic-task-001

Define the Dart abstract interface for DuplicateDetectionService, including the DuplicateCandidate, DuplicateCheckResult...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical low backend Tier 0 ⚙ backend specialist
Implement DuplicateDetectionService pre-submit RPC orchestration
epic-duplicate-activity-detection-core-logic-task-002

Implement the concrete DuplicateDetectionService that calls the duplicate-check-repository RPC before activity submissio...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical medium backend Tier 1 ⚙ backend specialist
Implement duplicate evaluation and blocking threshold logic
epic-duplicate-activity-detection-core-logic-task-003

Add the isBlockableDuplicate() evaluation method to DuplicateDetectionService. Apply configurable scoring thresholds bas...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical medium backend Tier 2 ⚙ backend specialist
Define DeduplicationQueueService interface and queue models
epic-duplicate-activity-detection-core-logic-task-004

Define the abstract interface for DeduplicationQueueService including UnresolvedPair, QueueResolutionAction, and QueueSc...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical low backend Tier 0 ⚙ backend specialist
Implement DeduplicationQueueService chapter-scoped queue fetching
epic-duplicate-activity-detection-core-logic-task-005

Implement the concrete getUnresolvedPairs() method that fetches unresolved duplicate pairs from the duplicate-queue-repo...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical medium backend Tier 1 ⚙ backend specialist
Implement coordinator-level forced resolution in DeduplicationQueueService
epic-duplicate-activity-detection-core-logic-task-007

Implement the forceResolve() method that applies a coordinator-level resolution decision to a duplicate pair. Accepted a...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical medium backend Tier 3 ⚙ backend specialist
Build DuplicateComparisonPanel base two-column layout widget
epic-duplicate-activity-detection-core-logic-task-008

Implement the DuplicateComparisonPanel Flutter widget with a responsive two-column layout rendering two ActivityRecord o...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical medium frontend Tier 0 🎨 frontend specialist
Implement field-level diff computation for DuplicateComparisonPanel
epic-duplicate-activity-detection-core-logic-task-009

Add a pure DiffComputer utility used by DuplicateComparisonPanel to compute field-by-field divergence between two Activi...

Duplicate Activity Detection — Core Service Layer & Comparison UI · Duplicate Activity Detection

critical medium frontend Tier 1 🎨 frontend specialist
Deduplication queue navigation tab badge count
epic-duplicate-activity-detection-ui-task-009

Implement a live badge count on the coordinator's navigation tab that shows the current number of unresolved duplicate p...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

medium low frontend Tier 1 🎨 frontend specialist
Deep-link navigation to deduplication detail view
epic-duplicate-activity-detection-ui-task-011

Implement deep-link navigation support for the deduplication queue detail view so that push notifications about unresolv...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

medium low frontend Tier 6 🎨 frontend specialist
DuplicateResolutionHandler — cancel resolution path
epic-duplicate-activity-detection-ui-task-006

Implement the cancel resolution path in DuplicateResolutionHandler. When the user selects Cancel, the handler must disca...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

high low backend Tier 4 ⚙ backend specialist
DeduplicationQueueScreen scaffold and paginated list
epic-duplicate-activity-detection-ui-task-007

Create the DeduplicationQueueScreen for coordinator users, implementing a paginated list of unresolved duplicate-flagged...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

high medium frontend Tier 0 🎨 frontend specialist
DeduplicationQueueScreen filter and sort controls
epic-duplicate-activity-detection-ui-task-008

Add filter controls (by date range, status: unresolved/resolved, activity type) and sort controls (newest first, oldest ...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

high medium frontend Tier 1 🎨 frontend specialist
DeduplicationQueueScreen detail view with comparison panel
epic-duplicate-activity-detection-ui-task-010

Implement the detail view accessible from DeduplicationQueueScreen list items. The detail view must render the Duplicate...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

high medium frontend Tier 5 🎨 frontend specialist
WCAG 2.2 AA accessibility audit — bottom sheet
epic-duplicate-activity-detection-ui-task-012

Audit and remediate the DuplicateWarningBottomSheet for WCAG 2.2 AA compliance. Tasks include: ensure focus is trapped w...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

high medium frontend Tier 3 🎨 frontend specialist
WCAG 2.2 AA accessibility audit — deduplication queue
epic-duplicate-activity-detection-ui-task-013

Audit and remediate DeduplicationQueueScreen and its detail view for WCAG 2.2 AA compliance. Ensure list items have desc...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

high medium frontend Tier 7 🎨 frontend specialist
Integration and widget tests for resolution flows
epic-duplicate-activity-detection-ui-task-014

Write widget tests for DuplicateWarningBottomSheet covering all three resolution paths (proceed, merge, cancel), includi...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

high high testing Tier 8 🧪 testing specialist
DuplicateResolutionHandler — proceed resolution path
epic-duplicate-activity-detection-ui-task-004

Implement the proceed resolution path in DuplicateResolutionHandler. When the user selects Proceed, the handler must cal...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

critical medium backend Tier 3 ⚙ backend specialist
DuplicateResolutionHandler — merge resolution path
epic-duplicate-activity-detection-ui-task-005

Implement the merge resolution path in DuplicateResolutionHandler. When the user selects Merge, the handler must apply d...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

critical high backend Tier 4 ⚙ backend specialist
DuplicateWarningBottomSheet scaffold and layout
epic-duplicate-activity-detection-ui-task-001

Create the DuplicateWarningBottomSheet widget with a draggable sheet scaffold, header title, placeholder content area fo...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

critical medium frontend Tier 0 🎨 frontend specialist
Integrate DuplicateComparisonPanel into bottom sheet
epic-duplicate-activity-detection-ui-task-002

Wire the DuplicateComparisonPanel component into the DuplicateWarningBottomSheet, passing detected candidate activity da...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

critical medium frontend Tier 1 🎨 frontend specialist
DuplicateWarningBottomSheet trigger from activity wizard
epic-duplicate-activity-detection-ui-task-003

Integrate the DuplicateWarningBottomSheet trigger into the activity registration wizard flow. When DuplicateDetectionSer...

Duplicate Activity Detection — User Interface & Resolution Flows · Duplicate Activity Detection

critical medium integration Tier 2 🔗 integration specialist
Implement Deduplication Queue Service
epic-duplicate-activity-detection-state-management-task-006

Create the DeduplicationQueueService that manages the coordinator-facing duplicate review queue: fetching pending items,...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

high medium backend Tier 1 ⚙ backend specialist
Build Duplicate Comparison Panel Widget
epic-duplicate-activity-detection-state-management-task-004

Implement the DuplicateComparisonPanel Flutter widget that renders side-by-side or stacked comparison of the incoming ac...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

high medium frontend Tier 0 🎨 frontend specialist
Build Deduplication Queue Screen
epic-duplicate-activity-detection-state-management-task-009

Implement the DeduplicationQueueScreen Flutter UI for coordinators to review, compare, and resolve queued duplicate reco...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

high medium frontend Tier 2 🎨 frontend specialist
Implement Duplicate Reviewed Flag Middleware
epic-duplicate-activity-detection-state-management-task-003

Create the infrastructure middleware that intercepts activity save operations and tags records with a duplicate-reviewed...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

high low infrastructure Tier 1 ⚙ backend specialist
Implement Duplicate Detection Service
epic-duplicate-activity-detection-state-management-task-005

Create the DuplicateDetectionService that encapsulates the matching algorithm: same peer mentor + overlapping date/time ...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

critical medium backend Tier 1 ⚙ backend specialist
Implement Duplicate Resolution Handler
epic-duplicate-activity-detection-state-management-task-007

Create the DuplicateResolutionHandler service that processes user decisions: KEEP_BOTH (proceed with save, flag as revie...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

critical medium backend Tier 2 ⚙ backend specialist
Implement Duplicate Check Repository
epic-duplicate-activity-detection-state-management-task-001

Create the DuplicateCheckRepository data layer that queries the Supabase database for existing activities matching the s...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

critical medium database Tier 0 ⚙ backend specialist
Implement Duplicate Queue Repository
epic-duplicate-activity-detection-state-management-task-002

Create the DuplicateQueueRepository data layer for coordinator deduplication queue operations. Implement CRUD methods fo...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

critical medium database Tier 0 ⚙ backend specialist
Build Duplicate Warning Bottom Sheet
epic-duplicate-activity-detection-state-management-task-008

Implement the DuplicateWarningBottomSheet Flutter widget that intercepts the activity wizard save action and presents th...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

critical medium frontend Tier 2 🎨 frontend specialist
Implement DuplicateDetectionBLoC & E2E Integration Tests
epic-duplicate-activity-detection-state-management-task-010

Implement the DuplicateDetectionBLoC managing the full state machine: idle → checking → duplicate_found (with candidate ...

Duplicate Activity Detection — BLoC State Machine & Cross-Feature Integration · Duplicate Activity Detection

critical high integration Tier 3 🔗 integration specialist
Add Hive storage backend to TerminologyCacheAdapter
epic-dynamic-terminology-and-labels-foundation-task-003

Extend TerminologyCacheAdapter to support Hive as an alternative storage backend via a strategy pattern or constructor p...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

high low backend Tier 1 ⚙ backend specialist
Add cache invalidation strategy to TerminologyRepository
epic-dynamic-terminology-and-labels-foundation-task-007

Extend TerminologyRepository with a staleness check: store a timestamp alongside the cached label map in TerminologyCach...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

high low backend Tier 3 ⚙ backend specialist
Add key convention validation to LabelKeyResolver
epic-dynamic-terminology-and-labels-foundation-task-005

Add a validateKey(String key) method to LabelKeyResolver that checks whether the provided key exists as a static constan...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

high low infrastructure Tier 2 ⚙ backend specialist
Unit test LabelKeyRegistry and LabelKeyResolver
epic-dynamic-terminology-and-labels-foundation-task-008

Write comprehensive flutter_test unit tests covering: all domain groups in LabelKeyRegistry have non-empty, dot-notation...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

high low testing Tier 3 🧪 testing specialist
Unit test TerminologyCacheAdapter backends
epic-dynamic-terminology-and-labels-foundation-task-009

Write flutter_test unit tests for TerminologyCacheAdapter using mocked SharedPreferences and Hive. Cover: write then rea...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

high low testing Tier 2 🧪 testing specialist
Integration test TerminologyRepository offline fallback
epic-dynamic-terminology-and-labels-foundation-task-010

Write integration tests for TerminologyRepository using a mocked Supabase client and mocked TerminologyCacheAdapter. Cov...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

high low testing Tier 4 🧪 testing specialist
Implement TerminologyCacheAdapter with SharedPreferences
epic-dynamic-terminology-and-labels-foundation-task-002

Build the TerminologyCacheAdapter as a data-layer class that persists a per-organization Map<String, String> label map t...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

critical low backend Tier 0 ⚙ backend specialist
Build stateless LabelKeyResolver with fallback logic
epic-dynamic-terminology-and-labels-foundation-task-004

Implement LabelKeyResolver as a stateless utility class with a single resolve(String key, Map<String, String> labels, {M...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

critical low backend Tier 1 ⚙ backend specialist
Implement TerminologyRepository with Supabase fetch
epic-dynamic-terminology-and-labels-foundation-task-006

Build TerminologyRepository that queries the labels JSONB column from Supabase's organization_configs table for a given ...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

critical low backend Tier 2 ⚙ backend specialist
Define LabelKeyRegistry Dart abstract class
epic-dynamic-terminology-and-labels-foundation-task-001

Create the LabelKeyRegistry as a Dart abstract class containing only static const String fields grouped by domain (auth,...

Terminology Foundation: Data Layer, Cache, and Key Registry · Dynamic Terminology & Labels System

critical low infrastructure Tier 0 ⚙ backend specialist
Define TerminologySyncService interface and config
epic-dynamic-terminology-and-labels-service-layer-task-004

Define the TerminologySyncService abstract interface and its configuration model: sync interval, retry backoff parameter...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

high low backend Tier 0 ⚙ backend specialist
Implement background sync version check logic
epic-dynamic-terminology-and-labels-service-layer-task-005

Implement the version comparison step inside TerminologySyncService: read the cached map's updatedAt, fetch the updated_...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

high medium backend Tier 1 ⚙ backend specialist
Implement retry backoff and trigger wiring in SyncService
epic-dynamic-terminology-and-labels-service-layer-task-006

Implement the full TerminologySyncService: subscribe to AppLifecycleState changes (foreground trigger) and connectivity ...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

high medium backend Tier 2 ⚙ backend specialist
Declare terminologySyncServiceProvider and wire disposal
epic-dynamic-terminology-and-labels-service-layer-task-009

Declare the terminologySyncServiceProvider in TerminologyRiverpodProviders as an autoDispose provider that creates, star...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

high medium infrastructure Tier 3 ⚙ backend specialist
Unit test OrganizationLabelsNotifier state transitions
epic-dynamic-terminology-and-labels-service-layer-task-010

Write unit tests for OrganizationLabelsNotifier covering: initial loading state, successful fetch emitting loaded state ...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

high medium testing Tier 3 🧪 testing specialist
Unit test TerminologySyncService trigger and backoff
epic-dynamic-terminology-and-labels-service-layer-task-011

Write unit tests for TerminologySyncService covering: foreground trigger invokes version check, connectivity-restore tri...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

high medium testing Tier 3 🧪 testing specialist
Integration test full provider graph and disposal
epic-dynamic-terminology-and-labels-service-layer-task-012

Write integration tests using ProviderContainer to validate the full Riverpod provider graph: organizationLabelsNotifier...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

high medium testing Tier 4 🧪 testing specialist
Define OrganizationLabelsNotifier state model
epic-dynamic-terminology-and-labels-service-layer-task-001

Create the Dart state classes and data models for OrganizationLabelsNotifier, including TerminologyMapState (loading, lo...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

critical low backend Tier 0 ⚙ backend specialist
Implement OrganizationLabelsNotifier core fetch logic
epic-dynamic-terminology-and-labels-service-layer-task-002

Implement the StateNotifier subclass that fetches the active organization's terminology map from Supabase via Terminolog...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

critical medium backend Tier 1 ⚙ backend specialist
Implement organization-switch reload in notifier
epic-dynamic-terminology-and-labels-service-layer-task-003

Add listener logic inside OrganizationLabelsNotifier to detect organization context changes (via TenantContextService or...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

critical medium backend Tier 2 ⚙ backend specialist
Declare root organizationLabelsNotifierProvider
epic-dynamic-terminology-and-labels-service-layer-task-007

In TerminologyRiverpodProviders, declare the root organizationLabelsNotifierProvider as a StateNotifierProvider scoped t...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

critical medium infrastructure Tier 2 ⚙ backend specialist
Declare labelProvider family for per-key granular rebuilds
epic-dynamic-terminology-and-labels-service-layer-task-008

Declare the labelProvider(String key) family provider in TerminologyRiverpodProviders. The provider must select only the...

Terminology Service Layer: Notifier, Sync, and Riverpod Providers · Dynamic Terminology & Labels System

critical low infrastructure Tier 3 ⚙ backend specialist
Document UI components and accessibility patterns
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-013

Write developer documentation covering: (1) how to use TerminologyAwareTextWidget as a drop-in replacement for Flutter's...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

medium low documentation Tier 5 📝 documentor
Display last-updated timestamp in admin preview
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-011

Retrieve and display the last-updated timestamp of the active organization's terminology map from the TerminologyReposit...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

medium low frontend Tier 3 🎨 frontend specialist
Implement fallback text for missing label keys
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-003

Add fallback rendering logic to TerminologyAwareTextWidget. When LabelKeyResolver returns null for a key (missing from t...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

high low frontend Tier 2 🎨 frontend specialist
Scaffold TerminologyAdminPreviewScreen
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-008

Create the TerminologyAdminPreviewScreen as a read-only Riverpod ConsumerWidget accessible only to coordinators and admi...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

high low frontend Tier 0 🎨 frontend specialist
Implement label key listing with resolved values
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-009

Populate the TerminologyAdminPreviewScreen with a scrollable list of all label keys registered in the LabelKeyRegistry f...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

high medium frontend Tier 1 🎨 frontend specialist
Highlight missing label entries in admin preview
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-010

Add visual highlighting in TerminologyAdminPreviewScreen for label keys that have no resolved value for the active organ...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

high low frontend Tier 2 🎨 frontend specialist
Validate reactive rebuild on org label map changes
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-004

Verify and harden the reactive rebuild behavior of TerminologyAwareTextWidget when the active organization switches or w...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

high low testing Tier 3 🧪 testing specialist
Integration test: end-to-end terminology resolution
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-012

Write integration tests (flutter_test + integration_test package) that simulate a full terminology resolution flow acros...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

high medium testing Tier 4 🧪 testing specialist
Scaffold TerminologyAwareTextWidget class
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-001

Create the base TerminologyAwareTextWidget Flutter widget class as a ConsumerWidget (Riverpod) that accepts a labelKey s...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

critical low frontend Tier 0 🎨 frontend specialist
Integrate label key resolution into TextWidget
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-002

Connect TerminologyAwareTextWidget to the LabelKeyResolver service via the Terminology Riverpod Providers. On each build...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

critical low frontend Tier 1 🎨 frontend specialist
Integrate Semantics tree wrapping with resolved labels
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-006

Implement the core wrapping behavior in WcagSemanticsLabelResolver: consume the OrganizationLabelsNotifier via Riverpod,...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

critical medium frontend Tier 1 🎨 frontend specialist
Scaffold WcagSemanticsLabelResolver class
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-005

Create the WcagSemanticsLabelResolver as a Flutter infrastructure component (plain Dart class or StatelessWidget wrapper...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

critical low infrastructure Tier 0 🎨 frontend specialist
Validate WCAG 2.2 AA compliance for screen readers
epic-dynamic-terminology-and-labels-ui-and-accessibility-task-007

Write automated accessibility tests using flutter_test semantics testing APIs to verify that WcagSemanticsLabelResolver ...

Terminology UI Components: Text Widget, WCAG Semantics, and Admin Preview · Dynamic Terminology & Labels System

critical medium testing Tier 2 🧪 testing specialist
Implement RFC 5322 Email Format Validator
epic-email-password-login-foundation-task-004

Build the email validation function in CredentialValidator using a regex that conforms to RFC 5322 email format rules. R...

Infrastructure & Data Layer Foundation · Email and Password Login

high low backend Tier 0 ⚙ backend specialist
Implement Password Constraint Rules Validator
epic-email-password-login-foundation-task-005

Add password validation to CredentialValidator enforcing minimum length (8 characters), at least one uppercase letter, o...

Infrastructure & Data Layer Foundation · Email and Password Login

high low backend Tier 1 ⚙ backend specialist
Build Keyboard-Aware Layout Utility
epic-email-password-login-foundation-task-003

Implement a reusable KeyboardAwareLayout widget that listens to MediaQuery.viewInsets to detect software keyboard appear...

Infrastructure & Data Layer Foundation · Email and Password Login

high low frontend Tier 0 🎨 frontend specialist
Unit Test Credential Validator
epic-email-password-login-foundation-task-009

Write comprehensive unit tests for CredentialValidator covering valid emails, malformed emails (missing @, missing domai...

Infrastructure & Data Layer Foundation · Email and Password Login

high low testing Tier 2 🧪 testing specialist
Integration Test Auth Repository with Supabase Client
epic-email-password-login-foundation-task-010

Write integration tests for AuthRepository covering the full sign-in, session cache, restore, and sign-out lifecycle usi...

Infrastructure & Data Layer Foundation · Email and Password Login

high low testing Tier 4 🧪 testing specialist
Build Auth Repository Session Restore Logic
epic-email-password-login-foundation-task-007

Implement the session restoration flow in AuthRepository that reads the cached encrypted token on app launch, validates ...

Infrastructure & Data Layer Foundation · Email and Password Login

critical low backend Tier 2 ⚙ backend specialist
Implement Auth Repository Sign-In and Sign-Out
epic-email-password-login-foundation-task-008

Add signInWithEmailAndPassword and signOut methods to AuthRepository. signIn calls the Supabase GoTrueClient, caches the...

Infrastructure & Data Layer Foundation · Email and Password Login

critical low backend Tier 3 ⚙ backend specialist
Implement Encrypted Local Session Cache
epic-email-password-login-foundation-task-006

Set up flutter_secure_storage as the encrypted device storage backend in AuthRepository for caching the Supabase session...

Infrastructure & Data Layer Foundation · Email and Password Login

critical low database Tier 1 ⚙ backend specialist
Initialize Supabase Auth Client Singleton
epic-email-password-login-foundation-task-001

Create the Supabase Auth client singleton that reads SUPABASE_URL and SUPABASE_ANON_KEY from environment configuration a...

Infrastructure & Data Layer Foundation · Email and Password Login

critical low infrastructure Tier 0 ⚙ backend specialist
Configure Supabase Environment Credentials
epic-email-password-login-foundation-task-002

Set up environment-based credential loading for the Supabase Auth client using flutter_dotenv or dart-define. Define sep...

Infrastructure & Data Layer Foundation · Email and Password Login

critical low infrastructure Tier 1 🚀 devops specialist
Implement role-based post-login routing in AuthService
epic-email-password-login-auth-logic-task-005

After successful authentication, AuthService resolves the authenticated user's role (admin, coordinator, peer_mentor) by...

Authentication Service & BLoC Layer · Email and Password Login

high medium backend Tier 4 ⚙ backend specialist
Wire session persistence listener in LoginFormBLoC
epic-email-password-login-auth-logic-task-009

Add an on-success side-effect in LoginFormBLoC that triggers AuthService.persistSession() after emitting LoginSuccess. A...

Authentication Service & BLoC Layer · Email and Password Login

high low frontend Tier 6 🎨 frontend specialist
Unit test AuthService error mapping and session logic
epic-email-password-login-auth-logic-task-010

Write unit tests for the GoTrue error mapper covering all mapped error categories (invalid credentials, network, rate li...

Authentication Service & BLoC Layer · Email and Password Login

high medium testing Tier 5 🧪 testing specialist
Unit test LoginFormBLoC state transitions
epic-email-password-login-auth-logic-task-011

Write bloc_test unit tests for LoginFormBLoC covering: field validation transitions, loading state emission on submit, a...

Authentication Service & BLoC Layer · Email and Password Login

high medium testing Tier 7 🧪 testing specialist
Integration test: full email/password login flow
epic-email-password-login-auth-logic-task-012

Write integration tests exercising the full stack from LoginFormBLoC through AuthService to the Supabase Auth client (us...

Authentication Service & BLoC Layer · Email and Password Login

high medium testing Tier 8 🧪 testing specialist
Define AuthService interface and domain exceptions
epic-email-password-login-auth-logic-task-001

Define the AuthService abstract interface with signIn, signOut, and getSession methods. Define typed domain exceptions: ...

Authentication Service & BLoC Layer · Email and Password Login

critical low backend Tier 0 ⚙ backend specialist
Implement GoTrue error code mapper
epic-email-password-login-auth-logic-task-002

Implement a mapping function that translates GoTrue/Supabase Auth error codes and messages into typed domain exceptions....

Authentication Service & BLoC Layer · Email and Password Login

critical medium backend Tier 1 ⚙ backend specialist
Implement AuthService with Supabase email/password sign-in
epic-email-password-login-auth-logic-task-003

Implement the concrete AuthService class wrapping supabase.auth.signInWithPassword(). Call the GoTrue error mapper on al...

Authentication Service & BLoC Layer · Email and Password Login

critical medium backend Tier 2 ⚙ backend specialist
Implement session persistence and retrieval in AuthService
epic-email-password-login-auth-logic-task-004

Add getSession() and restoreSession() methods to AuthService. On successful sign-in, persist session tokens via the Auth...

Authentication Service & BLoC Layer · Email and Password Login

critical medium backend Tier 3 ⚙ backend specialist
Define LoginFormBLoC states and events
epic-email-password-login-auth-logic-task-006

Define the complete set of Bloc events (EmailChanged, PasswordChanged, SubmitPressed, VisibilityToggled) and states (Log...

Authentication Service & BLoC Layer · Email and Password Login

critical low frontend Tier 1 🎨 frontend specialist
Implement LoginFormBLoC field input and validation handlers
epic-email-password-login-auth-logic-task-007

Implement event handlers for EmailChanged and PasswordChanged that update internal field state. On SubmitPressed, invoke...

Authentication Service & BLoC Layer · Email and Password Login

critical medium frontend Tier 2 🎨 frontend specialist
Implement LoginFormBLoC authentication dispatch and state emission
epic-email-password-login-auth-logic-task-008

Implement the SubmitPressed handler that dispatches signIn to AuthService, emits LoginLoading, then maps the typed domai...

Authentication Service & BLoC Layer · Email and Password Login

critical medium frontend Tier 5 🎨 frontend specialist
Implement loading overlay state on LoginScreen
epic-email-password-login-ui-task-008

Add a loading overlay to LoginScreen that renders when LoginFormBLoC emits a loading state. The overlay should use a sem...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

medium low frontend Tier 5 🎨 frontend specialist
Write golden tests for LoginScreen UI states
epic-email-password-login-ui-task-014

Write golden tests for LoginScreen covering five states: initial (empty form), loading overlay, auth error banner, Voice...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

medium medium testing Tier 9 🧪 testing specialist
Implement PasswordVisibilityToggle widget
epic-email-password-login-ui-task-001

Build the PasswordVisibilityToggle as an accessible icon button embedded within the password input field. Must meet 48x4...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high low frontend Tier 0 🎨 frontend specialist
Integrate LoginForm field-level validation display
epic-email-password-login-ui-task-004

Wire inline field-level validation error display into LoginForm. On submission or field blur, show error messages direct...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high medium frontend Tier 2 🎨 frontend specialist
Connect LoginForm to LoginFormBLoC event dispatch
epic-email-password-login-ui-task-005

Bind LoginForm widget to LoginFormBLoC: dispatch EmailChanged and PasswordChanged events on text change, dispatch LoginS...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high medium frontend Tier 3 🎨 frontend specialist
Build KeyboardAwareLayout wrapping LoginScreen
epic-email-password-login-ui-task-006

Implement the KeyboardAwareLayout utility widget (015-keyboard-aware-layout) that wraps its child in a SingleChildScroll...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high low frontend Tier 0 🎨 frontend specialist
Implement LoginScreen scaffold with branding and form
epic-email-password-login-ui-task-007

Build the LoginScreen widget that wraps LoginForm in a KeyboardAwareLayout with a scrollable Column. Render organisation...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high low frontend Tier 4 🎨 frontend specialist
Implement error overlay state on LoginScreen
epic-email-password-login-ui-task-009

Add error state rendering to LoginScreen triggered by LoginFormBLoC authentication failure states. Display a dismissible...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high low frontend Tier 6 🎨 frontend specialist
Write widget tests for LoginForm states
epic-email-password-login-ui-task-012

Write Flutter widget tests covering LoginForm rendered states: empty (submit disabled), valid email + password (submit e...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high medium testing Tier 4 🧪 testing specialist
Write widget tests for PasswordVisibilityToggle
epic-email-password-login-ui-task-013

Write Flutter widget tests for PasswordVisibilityToggle: initial state obscures text, tapping toggle reveals text, tappi...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

high low testing Tier 1 🧪 testing specialist
WCAG 2.2 AA contrast and label audit for AppTextField
epic-email-password-login-ui-task-002

Audit and update the shared AppTextField widget to meet WCAG 2.2 AA requirements: label contrast ratio ≥4.5:1, placehold...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

critical low frontend Tier 0 🎨 frontend specialist
Build LoginForm widget with email and password fields
epic-email-password-login-ui-task-003

Compose the LoginForm widget using two AppTextField instances (email and password) and one AppButton (submit). Wire Pass...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

critical medium frontend Tier 1 🎨 frontend specialist
Implement role-based post-login routing in LoginScreen
epic-email-password-login-ui-task-010

On successful authentication, LoginScreen must route the user to their role-specific home screen. Read the session resul...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

critical medium frontend Tier 7 🎨 frontend specialist
VoiceOver and TalkBack semantic labels audit
epic-email-password-login-ui-task-011

Perform a systematic semantic label audit on all three components (PasswordVisibilityToggle, LoginForm, LoginScreen). Ve...

Login UI, Accessibility & WCAG 2.2 AA Compliance · Email and Password Login

critical medium testing Tier 8 🧪 testing specialist
Widget test ClaimStatusBadge rendering and accessibility
epic-expense-approval-workflow-foundation-task-016

Write widget tests for ClaimStatusBadge verifying: correct colour rendered for each ClaimStatus enum value, correct sema...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

medium low testing Tier 4 🧪 testing specialist
Build ClaimStatusBadge reusable widget
epic-expense-approval-workflow-foundation-task-010

Implement the ClaimStatusBadge Flutter widget that renders a colour-coded pill/chip for each claim status (draft=grey, s...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

high low frontend Tier 3 🎨 frontend specialist
Implement ApprovalNotificationService for FCM and Realtime delivery
epic-expense-approval-workflow-foundation-task-009

Implement ApprovalNotificationService that delivers approval status change notifications via both FCM (for background/of...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

high medium integration Tier 4 🔗 integration specialist
Unit test ClaimEventsRepository immutability guarantees
epic-expense-approval-workflow-foundation-task-011

Write unit tests for ClaimEventsRepository covering: successful event insertion, rejection of update calls (UnsupportedE...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

high low testing Tier 2 🧪 testing specialist
Unit test ExpenseClaimStatusRepository optimistic locking
epic-expense-approval-workflow-foundation-task-012

Write unit tests for ExpenseClaimStatusRepository covering: successful status update with correct version, OptimisticLoc...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

high medium testing Tier 3 🧪 testing specialist
Integration test RealtimeApprovalSubscription lifecycle
epic-expense-approval-workflow-foundation-task-014

Write integration tests for RealtimeApprovalSubscription covering: channel connection on subscribe(), stream events rece...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

high medium testing Tier 4 ⚙ backend specialist
Unit test ClaimApprovalRepository metadata capture
epic-expense-approval-workflow-foundation-task-015

Write unit tests for ClaimApprovalRepository covering: successful decision insertion with full coordinator metadata snap...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

high low testing Tier 3 🧪 testing specialist
Integration test ApprovalNotificationService dual-channel delivery
epic-expense-approval-workflow-foundation-task-017

Write integration tests for ApprovalNotificationService verifying: FCM notification dispatched when claim status changes...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

high medium testing Tier 5 🔗 integration specialist
Implement ClaimEventsRepository with insert-only enforcement
epic-expense-approval-workflow-foundation-task-002

Implement the ClaimEventsRepository class in Dart using the Supabase client. Expose insertEvent() and getEventsForClaim(...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical low backend Tier 1 ⚙ backend specialist
Implement ClaimApprovalRepository with full metadata storage
epic-expense-approval-workflow-foundation-task-004

Implement ClaimApprovalRepository using the Supabase client. Expose recordDecision(), getDecisionsForClaim(), and getPen...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical low backend Tier 2 ⚙ backend specialist
Implement ExpenseClaimStatusRepository with optimistic locking
epic-expense-approval-workflow-foundation-task-006

Implement ExpenseClaimStatusRepository with getStatus(), updateStatus(), and watchStatus() methods. Implement optimistic...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical medium backend Tier 2 ⚙ backend specialist
Implement ThresholdEvaluationService shared logic
epic-expense-approval-workflow-foundation-task-007

Implement the ThresholdEvaluationService as a pure Dart class (no Flutter dependencies) with evaluateClaim(claimAmount, ...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical medium backend Tier 3 ⚙ backend specialist
Define ClaimEvents database schema and Dart models
epic-expense-approval-workflow-foundation-task-001

Create the Supabase database table for claim_events with immutable audit columns (id, claim_id, event_type, actor_id, me...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical low database Tier 0 🗄 database specialist
Define ClaimApproval database schema and Dart models
epic-expense-approval-workflow-foundation-task-003

Create the claim_approval_decisions table in Supabase with columns for decision_id, claim_id, coordinator_id, decision (...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical low database Tier 1 🗄 database specialist
Define ExpenseClaimStatus database schema and Dart models
epic-expense-approval-workflow-foundation-task-005

Create the expense_claim_status table with columns for claim_id (PK), status (enum: draft/submitted/pending_approval/app...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical medium database Tier 1 🗄 database specialist
Implement RealtimeApprovalSubscription channel management
epic-expense-approval-workflow-foundation-task-008

Implement the RealtimeApprovalSubscription class wrapping Supabase Realtime channels for the expense_claim_status table....

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical medium infrastructure Tier 3 🏗 infrastructure specialist
Unit test ThresholdEvaluationService evaluation logic
epic-expense-approval-workflow-foundation-task-013

Write comprehensive unit tests for ThresholdEvaluationService covering: auto-approval below distance threshold (under 50...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical medium testing Tier 4 🧪 testing specialist
End-to-end audit trail and compliance verification
epic-expense-approval-workflow-foundation-task-018

Perform an end-to-end verification of the complete audit trail: submit a test claim, trigger threshold evaluation, recor...

Approval Workflow Data Foundation & Infrastructure · Threshold-Based Expense Approval Workflow

critical medium testing Tier 6 🧪 testing specialist
Implement approved-to-exported state transition
epic-expense-approval-workflow-core-logic-task-005

Implement markAsExported() on ApprovalWorkflowService. Validates the claim is in the approved state, updates status to e...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

high low backend Tier 3 ⚙ backend specialist
Implement ClaimStatusAuditTimeline data loading from ClaimEventsRepository
epic-expense-approval-workflow-core-logic-task-013

Implement the data-loading layer for ClaimStatusAuditTimeline widget. Create a Riverpod provider that fetches the ordere...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

high low frontend Tier 5 🎨 frontend specialist
Render timeline events with actor, role, timestamp, and comment
epic-expense-approval-workflow-core-logic-task-014

Build the ClaimStatusAuditTimeline Flutter widget that renders each ClaimEvent as a timeline row. Each row must display:...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

high medium frontend Tier 6 🎨 frontend specialist
Apply Norwegian timezone and localized date formatting to timeline
epic-expense-approval-workflow-core-logic-task-015

Ensure all timestamps in ClaimStatusAuditTimeline are converted from UTC to Europe/Oslo timezone before display. Use the...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

high low frontend Tier 7 🎨 frontend specialist
Emit notification pipeline events from ApprovalWorkflowService
epic-expense-approval-workflow-core-logic-task-007

After persisting each state transition, ApprovalWorkflowService must invoke ApprovalNotificationService to emit domain e...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

high medium integration Tier 5 🔗 integration specialist
Widget and golden tests for ClaimStatusAuditTimeline
epic-expense-approval-workflow-core-logic-task-016

Write flutter_test widget tests for ClaimStatusAuditTimeline covering: rendering with a full multi-event history, render...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

high medium testing Tier 8 🧪 testing specialist
Define ApprovalWorkflowService FSM interface and state types
epic-expense-approval-workflow-core-logic-task-001

Define the Dart abstract interface and sealed state classes for the ApprovalWorkflowService finite state machine. Enumer...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical low backend Tier 0 ⚙ backend specialist
Implement draft-to-submitted transition with line total evaluation
epic-expense-approval-workflow-core-logic-task-002

Implement the submitClaim() method on ApprovalWorkflowService. On call, the service must aggregate all ExpenseLine total...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium backend Tier 1 ⚙ backend specialist
Implement auto-approval path for below-threshold claims
epic-expense-approval-workflow-core-logic-task-003

After submitClaim() determines the auto-approval path, immediately execute the submitted-to-approved transition without ...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium backend Tier 2 ⚙ backend specialist
Implement coordinator approve and reject transitions
epic-expense-approval-workflow-core-logic-task-004

Implement approveClaim() and rejectClaim() methods on ApprovalWorkflowService for the manual approval path. Each method ...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium backend Tier 2 ⚙ backend specialist
Persist immutable audit events for every state transition
epic-expense-approval-workflow-core-logic-task-006

After each successful state transition in ApprovalWorkflowService, write an immutable ClaimEvent record via ClaimEventsR...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium backend Tier 4 ⚙ backend specialist
Scaffold ThresholdValidationEdgeFunction Supabase Edge Function
epic-expense-approval-workflow-core-logic-task-009

Create the Supabase Edge Function project structure for ThresholdValidationEdgeFunction using Deno and TypeScript. Confi...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement server-side threshold logic in Edge Function
epic-expense-approval-workflow-core-logic-task-010

Port the identical threshold evaluation algorithm from ThresholdEvaluationService (client-side Dart) into the Edge Funct...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Implement client-server result comparison and rejection logic
epic-expense-approval-workflow-core-logic-task-011

In the Edge Function, compare the server-computed approval path against the client-submitted value. If the values differ...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium infrastructure Tier 2 🏗 infrastructure specialist
Unit test ApprovalWorkflowService FSM transitions
epic-expense-approval-workflow-core-logic-task-008

Write exhaustive unit tests for all ApprovalWorkflowService state transitions using flutter_test and mocked repository/s...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium testing Tier 6 🧪 testing specialist
Integration test ThresholdValidationEdgeFunction against real Supabase
epic-expense-approval-workflow-core-logic-task-012

Write integration tests for the Edge Function that execute against a local Supabase instance. Test scenarios: valid subm...

Approval Workflow Core Business Logic & Server Validation · Threshold-Based Expense Approval Workflow

critical medium testing Tier 3 🧪 testing specialist
Define BulkApprovalResult model and error types
epic-expense-approval-workflow-bulk-and-action-task-001

Create the BulkApprovalResult data model including fields for total processed, successful approvals, failed records with...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high low backend Tier 0 ⚙ backend specialist
Add partial failure surfacing to BulkApprovalProcessor
epic-expense-approval-workflow-bulk-and-action-task-003

Extend BulkApprovalProcessor to collect and surface failed individual records within a batch without aborting the remain...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high medium backend Tier 2 ⚙ backend specialist
Build BulkApprovalBar sticky UI widget
epic-expense-approval-workflow-bulk-and-action-task-004

Implement the BulkApprovalBar as a sticky bottom widget that becomes visible when one or more claims are selected in the...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high low frontend Tier 0 🎨 frontend specialist
Wire BulkApprovalBar selection state management
epic-expense-approval-workflow-bulk-and-action-task-005

Connect BulkApprovalBar to the coordinator review queue selection state using Riverpod or BLoC. Bar must reactively show...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high medium frontend Tier 1 🎨 frontend specialist
Add confirmation step for irreversible transitions in ApprovalActionSheet
epic-expense-approval-workflow-bulk-and-action-task-009

Implement the two-step confirmation flow within ApprovalActionSheet so coordinators must explicitly confirm before any i...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high low frontend Tier 2 🎨 frontend specialist
Integrate BulkApprovalBar with BulkApprovalProcessor
epic-expense-approval-workflow-bulk-and-action-task-006

Connect BulkApprovalBar action buttons to BulkApprovalProcessor service calls. On action tap, gather selected claim IDs ...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high medium integration Tier 3 🔗 integration specialist
Write unit tests for BulkApprovalProcessor
epic-expense-approval-workflow-bulk-and-action-task-011

Write unit tests for BulkApprovalProcessor covering: successful batch with all records approved, partial failure where s...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high medium testing Tier 3 🧪 testing specialist
Widget and integration tests for approval UI components
epic-expense-approval-workflow-bulk-and-action-task-012

Write widget tests for BulkApprovalBar covering visibility toggling on selection change, button disabled state during pr...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

high medium testing Tier 4 🧪 testing specialist
Implement BulkApprovalProcessor service core
epic-expense-approval-workflow-bulk-and-action-task-002

Build the BulkApprovalProcessor service that accepts a list of claim IDs and approval decision, iterates each record by ...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

critical medium backend Tier 1 ⚙ backend specialist
Build ApprovalActionSheet bottom sheet scaffold
epic-expense-approval-workflow-bulk-and-action-task-007

Create the ApprovalActionSheet as a modal bottom sheet widget for individual claim approve/reject decisions. Scaffold in...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

critical medium frontend Tier 0 🎨 frontend specialist
Implement rejection comment enforcement in ApprovalActionSheet
epic-expense-approval-workflow-bulk-and-action-task-008

Add validation logic to ApprovalActionSheet that requires a non-empty rejection comment before the reject action can be ...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

critical low frontend Tier 1 🎨 frontend specialist
Wire ApprovalActionSheet to ApprovalWorkflowService
epic-expense-approval-workflow-bulk-and-action-task-010

Connect ApprovalActionSheet confirmation actions to ApprovalWorkflowService for individual claim transitions. Pass appro...

Bulk Approval Processing & Coordinator Action Components · Threshold-Based Expense Approval Workflow

critical medium integration Tier 3 🔗 integration specialist
Implement Claim Status Audit Timeline Widget
epic-expense-approval-workflow-coordinator-ui-task-010

Create the ClaimStatusAuditTimeline Flutter widget that renders a chronological timeline of claim events fetched from Cl...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

medium low frontend Tier 1 🎨 frontend specialist
Implement Approval Status Notification Service
epic-expense-approval-workflow-coordinator-ui-task-006

Create the ApprovalStatusNotificationService that triggers push notifications and in-app notifications to peer mentors w...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

high medium backend Tier 2 ⚙ backend specialist
Implement Bulk Approval Processor Service
epic-expense-approval-workflow-coordinator-ui-task-011

Develop the BulkApprovalProcessor service that accepts a list of selected claim IDs and a bulk action (approve/reject) a...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

high medium backend Tier 4 ⚙ backend specialist
Implement Claim Status Badge Widget
epic-expense-approval-workflow-coordinator-ui-task-007

Build the ClaimStatusBadge Flutter widget that visually represents claim status (pending, approved, rejected, auto_appro...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

high low frontend Tier 2 🎨 frontend specialist
Implement Bulk Approval Action Bar Widget
epic-expense-approval-workflow-coordinator-ui-task-012

Build the BulkApprovalBar Flutter widget that appears when one or more claims are selected in the review queue. Display ...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

high low frontend Tier 5 🎨 frontend specialist
Implement Supabase Realtime Approval Subscription
epic-expense-approval-workflow-coordinator-ui-task-004

Build the RealtimeApprovalSubscription infrastructure component that subscribes to Supabase Realtime channels for the ex...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

high medium infrastructure Tier 2 🏗 infrastructure specialist
Implement Threshold Evaluation Service
epic-expense-approval-workflow-coordinator-ui-task-005

Develop the ThresholdEvaluationService that applies organization-configured thresholds to determine whether a submitted ...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical medium backend Tier 2 ⚙ backend specialist
Implement Approval Workflow Service
epic-expense-approval-workflow-coordinator-ui-task-009

Build the ApprovalWorkflowService orchestrating the full coordinator approval flow: processing single-claim approve/reje...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical high backend Tier 3 ⚙ backend specialist
Implement Claim Events Repository
epic-expense-approval-workflow-coordinator-ui-task-001

Create the ClaimEventsRepository data layer component that persists and retrieves claim lifecycle events (submission, ap...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical low database Tier 0 🗄 database specialist
Implement Claim Approval Decision Repository
epic-expense-approval-workflow-coordinator-ui-task-002

Build the ClaimApprovalDecisionRepository to store and retrieve coordinator approval decisions including approve, reject...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical low database Tier 1 🗄 database specialist
Implement Expense Claim Status Repository
epic-expense-approval-workflow-coordinator-ui-task-003

Create the ExpenseClaimStatusRepository managing the status lifecycle of expense claims (pending, under_review, approved...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical medium database Tier 1 🗄 database specialist
Implement Approval Action Bottom Sheet
epic-expense-approval-workflow-coordinator-ui-task-013

Create the ApprovalActionBottomSheet Flutter widget used for single-claim review. Display claim summary metadata (submit...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical medium frontend Tier 4 🎨 frontend specialist
Implement Coordinator Review Queue Screen with E2E Integration Tests
epic-expense-approval-workflow-coordinator-ui-task-014

Build the CoordinatorReviewQueueScreen as the primary coordinator entry point. Render paginated list of pending claims w...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical high frontend Tier 6 ⚡ fullstack developer
Implement Threshold Validation Supabase Edge Function
epic-expense-approval-workflow-coordinator-ui-task-008

Deploy a Supabase Edge Function that executes server-side threshold validation when a claim is submitted. The function r...

Coordinator Review Queue Screen & End-to-End Integration · Threshold-Based Expense Approval Workflow

critical medium infrastructure Tier 3 🏗 infrastructure specialist
Document public API and integration contract
epic-expense-type-selection-foundation-task-014

Produce developer documentation for all four foundation components: ExpenseTypeConfig (enum variants, FormulaParameters ...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

medium low documentation Tier 5 📝 documentor
Unit-test analytics tracker buffer and dispatch
epic-expense-type-selection-foundation-task-006

Write unit tests covering: event enqueuing up to buffer capacity, automatic flush on capacity exceeded, flush on app-lif...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

medium low testing Tier 3 🧪 testing specialist
Implement anonymised analytics event model
epic-expense-type-selection-foundation-task-004

Define the AnonymisedExpenseEvent data class with fields: eventType (enum: typeSelected, typeDeselected, conflictBlocked...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

high low backend Tier 1 ⚙ backend specialist
Implement live-region announcement pipeline
epic-expense-type-selection-foundation-task-008

Add the announcement dispatch mechanism to ExpenseTypeAccessibilityService: queue announcements through Flutter's Semant...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

high low backend Tier 2 ⚙ backend specialist
Build analytics pipeline with buffered dispatch
epic-expense-type-selection-foundation-task-005

Implement ExpenseTypeAnalyticsTracker as a singleton service with an in-memory event buffer (max 50 events) and a flush ...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

high low infrastructure Tier 2 ⚙ backend specialist
Unit-test ExpenseTypeConfig completeness
epic-expense-type-selection-foundation-task-003

Write exhaustive unit tests that assert every ExpenseType variant has a corresponding config entry, that all formula par...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

high low testing Tier 2 🧪 testing specialist
Unit-test accessibility service label correctness
epic-expense-type-selection-foundation-task-009

Write unit tests asserting: semantic labels for all ExpenseType variants in selected/unselected/disabled states, conflic...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

high low testing Tier 3 🧪 testing specialist
Integration test: analytics emits on rule violations
epic-expense-type-selection-foundation-task-013

Write integration tests (no UI, in-process only) asserting that when MutualExclusionRuleEngine detects a conflict and Ex...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

high medium testing Tier 4 🧪 testing specialist
Define ExpenseType enum with display metadata
epic-expense-type-selection-foundation-task-001

Create the canonical ExpenseType enum in Dart covering all reimbursable expense types (kilometre, transit, toll, parking...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

critical low backend Tier 0 ⚙ backend specialist
Add formula parameter model to expense config
epic-expense-type-selection-foundation-task-002

Extend ExpenseTypeConfig with a FormulaParameters value object containing: base rate (NOK), distance unit (km/m), receip...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

critical low backend Tier 1 ⚙ backend specialist
Build WCAG 2.2 AA semantic label infrastructure
epic-expense-type-selection-foundation-task-007

Implement ExpenseTypeAccessibilityService providing: getSemanticLabel(ExpenseType, isSelected, isDisabled) returning a f...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

critical low backend Tier 1 ⚙ backend specialist
Define compatibility matrix data structure
epic-expense-type-selection-foundation-task-010

Model the mutual-exclusion compatibility matrix as an immutable Dart class MutualExclusionMatrix backed by a const Set<E...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

critical medium backend Tier 1 ⚙ backend specialist
Implement rule engine validation and filtering
epic-expense-type-selection-foundation-task-011

Build MutualExclusionRuleEngine wrapping MutualExclusionMatrix with higher-level operations: validateSelection(List<Expe...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

critical medium backend Tier 2 ⚙ backend specialist
Exhaustive unit tests for rule engine matrix
epic-expense-type-selection-foundation-task-012

Write property-based and example-based unit tests for MutualExclusionRuleEngine covering: all known conflicting pairs ar...

Expense Type Selection — Foundation & Rule Engine · Expense Type Selection with Mutual Exclusion

critical medium testing Tier 3 🧪 testing specialist
Implement flat receipt expense calculation logic
epic-expense-type-selection-core-services-task-003

Implement the flat receipt (tollroad, parking, transit ticket) calculation path in ExpenseCalculationService. Each recei...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high medium backend Tier 1 ⚙ backend specialist
Implement transit zone amount calculation
epic-expense-type-selection-core-services-task-004

Implement the transit zone reimbursement formula in ExpenseCalculationService. Zone amounts are looked up from expense-t...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high low backend Tier 1 ⚙ backend specialist
Implement disabled expense types computation
epic-expense-type-selection-core-services-task-008

Implement the computeDisabledTypes method in ExpenseSelectionBloc that, given the current selected set, queries the mutu...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high medium backend Tier 3 ⚙ backend specialist
Implement draft recovery on BLoC initialisation
epic-expense-type-selection-core-services-task-011

In ExpenseSelectionBloc, add an initialise event that calls ExpenseTypeRepository.loadDraft on first load. If a draft ex...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high low backend Tier 5 ⚙ backend specialist
Implement local draft persistence for expense selection
epic-expense-type-selection-core-services-task-010

Implement the local draft storage path in ExpenseTypeRepository using shared_preferences or Hive. On every validated sel...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high low database Tier 2 ⚙ backend specialist
Unit tests for calculation service formulas
epic-expense-type-selection-core-services-task-014

Write unit tests for all three formula paths in ExpenseCalculationService: per-km with standard and capped rates, flat r...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high medium testing Tier 3 🧪 testing specialist
Unit tests for repository persistence and validation
epic-expense-type-selection-core-services-task-015

Write unit tests for ExpenseTypeRepository covering: local draft write and read round-trip, draft cleared after final su...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high medium testing Tier 5 🧪 testing specialist
Integration tests for BLoC, service, and repository flow
epic-expense-type-selection-core-services-task-016

Write integration tests for the full reactive data flow: user toggles expense type → BLoC invokes rule engine → valid se...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

high medium testing Tier 6 🧪 testing specialist
Implement Supabase sync for finalised expense selections
epic-expense-type-selection-core-services-task-012

Implement the persistFinalSelection method in ExpenseTypeRepository that writes the validated, finalised expense type se...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical medium api Tier 3 🔌 api specialist
Define ExpenseCalculationResult model and type interfaces
epic-expense-type-selection-core-services-task-001

Create the core Dart data models for ExpenseCalculationResult, including typed fields for reimbursement amount, formula ...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical low backend Tier 0 ⚙ backend specialist
Implement per-km mileage reimbursement formula
epic-expense-type-selection-core-services-task-002

Implement the per-kilometre rate calculation within ExpenseCalculationService. The formula must read the org-specific ra...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical medium backend Tier 1 ⚙ backend specialist
Aggregate multi-type calculation results
epic-expense-type-selection-core-services-task-005

Implement the aggregation method in ExpenseCalculationService that accepts a list of active expense types with their inp...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical medium backend Tier 2 ⚙ backend specialist
Define ExpenseSelectionState and BLoC skeleton
epic-expense-type-selection-core-services-task-006

Define the ExpenseSelectionState value class (selected type IDs, disabled type IDs, calculation result, draft status, lo...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical low backend Tier 1 ⚙ backend specialist
Implement selection toggle with rule engine invocation
epic-expense-type-selection-core-services-task-007

Implement the toggleExpenseType method in ExpenseSelectionBloc. On each call: (1) tentatively add or remove the type ID ...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical medium backend Tier 2 ⚙ backend specialist
Mutual exclusion validation at persistence boundary
epic-expense-type-selection-core-services-task-013

Add a server-side guard in ExpenseTypeRepository.persistFinalSelection that validates the submitted selection set agains...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical medium backend Tier 4 ⚙ backend specialist
Wire recalculation trigger on selection change
epic-expense-type-selection-core-services-task-009

Connect ExpenseSelectionBloc to ExpenseCalculationService so that every validated selection change immediately triggers ...

Expense Type Selection — Data Layer, Calculation & State Management · Expense Type Selection with Mutual Exclusion

critical medium integration Tier 4 ⚙ backend specialist
Implement disabled-state visual feedback
epic-expense-type-selection-user-interface-task-005

Render visually distinct disabled states on expense type cards when the mutual exclusion rule engine marks a type as inc...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high low frontend Tier 4 🎨 frontend specialist
Build calculation preview zero-state placeholder
epic-expense-type-selection-user-interface-task-006

Implement the zero-state placeholder for the ExpenseCalculationPreview widget that is displayed when no expense type is ...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high low frontend Tier 0 🎨 frontend specialist
Build reimbursement line-item row widget
epic-expense-type-selection-user-interface-task-007

Create a ReimbursementLineItem widget that displays a single expense type's name and calculated reimbursement amount in ...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high low frontend Tier 1 🎨 frontend specialist
Compose calculation preview panel with total row
epic-expense-type-selection-user-interface-task-008

Compose the full ExpenseCalculationPreview panel from ReimbursementLineItem rows plus a bold total row. The panel must b...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high medium frontend Tier 2 🎨 frontend specialist
Add live-region announcements to preview panel
epic-expense-type-selection-user-interface-task-010

Integrate SemanticsService live-region announcements into the ExpenseCalculationPreview so that screen readers announce ...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high low frontend Tier 5 🎨 frontend specialist
Write widget tests for picker widget
epic-expense-type-selection-user-interface-task-011

Write a complete flutter_test widget test suite for ExpenseTypePickerWidget covering: all four cards render correctly, t...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high medium testing Tier 5 🧪 testing specialist
Write widget tests for calculation preview
epic-expense-type-selection-user-interface-task-012

Write a complete flutter_test widget test suite for ExpenseCalculationPreview covering: zero-state placeholder renders w...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high medium testing Tier 6 🧪 testing specialist
WCAG 2.2 AA audit and contrast validation
epic-expense-type-selection-user-interface-task-013

Run a full WCAG 2.2 AA audit on both the ExpenseTypePickerWidget and ExpenseCalculationPreview using the accessibility-t...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

high low testing Tier 7 🧪 testing specialist
Implement expense type option card scaffold
epic-expense-type-selection-user-interface-task-001

Build the base ExpenseTypeOptionCard widget that renders a single tappable expense category card with label, icon, and s...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

critical low frontend Tier 0 🎨 frontend specialist
Wire accessibility semantics onto option card
epic-expense-type-selection-user-interface-task-002

Integrate expense-type-accessibility-service labels into the ExpenseTypeOptionCard widget. Each card must expose a Seman...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

critical low frontend Tier 1 🎨 frontend specialist
Build expense-type-picker-widget layout grid
epic-expense-type-selection-user-interface-task-003

Compose the four ExpenseTypeOptionCards into a responsive 2×2 grid layout inside the ExpenseTypePickerWidget. The widget...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

critical medium frontend Tier 2 🎨 frontend specialist
Connect picker widget to BLoC stream
epic-expense-type-selection-user-interface-task-004

Subscribe the ExpenseTypePickerWidget to the ExpenseSelectionBLoC stream via StreamBuilder. Map BLoC state (selectedType...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

critical medium frontend Tier 3 🎨 frontend specialist
Wire calculation preview to BLoC stream with 300ms SLA
epic-expense-type-selection-user-interface-task-009

Subscribe the ExpenseCalculationPreview widget to the ExpenseSelectionBLoC stream and re-render whenever the calculation...

Expense Type Selection — Interactive Picker & Calculation Preview UI · Expense Type Selection with Mutual Exclusion

critical medium frontend Tier 4 🎨 frontend specialist
Document integration foundation API and security model
epic-external-system-integration-configuration-foundation-task-014

Write technical documentation covering: database schema with column descriptions, RLS policy matrix (role vs operation),...

Integration Data Foundation & Credential Vault · External System Integration Configuration

medium low documentation Tier 7 📝 documentor
Implement JSONB field_mappings serialization utilities
epic-external-system-integration-configuration-foundation-task-010

Build serialization/deserialization utilities for the field_mappings JSONB column. Define FieldMapping model with source...

Integration Data Foundation & Credential Vault · External System Integration Configuration

high medium backend Tier 3 ⚙ backend specialist
Add integration_type enum to database and registry
epic-external-system-integration-configuration-foundation-task-011

Create a PostgreSQL enum type for supported integration types (xledger, dynamics, cornerstone, consio, bufdir) and apply...

Integration Data Foundation & Credential Vault · External System Integration Configuration

high low database Tier 2 🗄 database specialist
Implement Dart integration type registry class
epic-external-system-integration-configuration-foundation-task-006

Implement the Dart IntegrationTypeRegistry class as a static/singleton infrastructure component. It must expose typed me...

Integration Data Foundation & Credential Vault · External System Integration Configuration

high low infrastructure Tier 1 ⚙ backend specialist
Write unit tests for repository and vault client
epic-external-system-integration-configuration-foundation-task-012

Write comprehensive unit tests for OrganizationIntegrationRepository and IntegrationCredentialVault using flutter_test a...

Integration Data Foundation & Credential Vault · External System Integration Configuration

high medium testing Tier 5 🧪 testing specialist
Write integration tests for RLS and vault policies
epic-external-system-integration-configuration-foundation-task-013

Write integration tests against a local Supabase instance to verify RLS policy enforcement on organization_integrations....

Integration Data Foundation & Credential Vault · External System Integration Configuration

high high testing Tier 6 🧪 testing specialist
Implement Dart OrganizationIntegration data models
epic-external-system-integration-configuration-foundation-task-007

Create fully typed Dart data model classes for OrganizationIntegration including fromJson/toJson serialization, JSONB fi...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical medium backend Tier 2 ⚙ backend specialist
Implement OrganizationIntegrationRepository CRUD operations
epic-external-system-integration-configuration-foundation-task-008

Implement the full Dart repository class for CRUD operations on organization_integrations via Supabase client. Methods: ...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical medium backend Tier 3 ⚙ backend specialist
Implement Dart IntegrationCredentialVault client
epic-external-system-integration-configuration-foundation-task-009

Create the Dart client that communicates with the Supabase Vault wrapper functions via RPC calls. Implement storeCredent...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical high backend Tier 4 ⚙ backend specialist
Design organization_integrations database schema
epic-external-system-integration-configuration-foundation-task-002

Design and write the Supabase migration for the organization_integrations table including all columns: id, organization_...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical medium database Tier 1 🗄 database specialist
Implement RLS policies for organization_integrations
epic-external-system-integration-configuration-foundation-task-003

Write and apply Row Level Security policies on the organization_integrations table ensuring coordinators and admins can ...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical medium database Tier 2 🗄 database specialist
Implement Supabase Vault wrapper for credential storage
epic-external-system-integration-configuration-foundation-task-004

Create the vault client layer that wraps Supabase Vault pgsodium functions for storing, retrieving, and rotating API key...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical high database Tier 2 🗄 database specialist
Create credential vault reference column migration
epic-external-system-integration-configuration-foundation-task-005

Add vault_secret_id column to the organization_integrations table to store the opaque Vault reference ID instead of plai...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical medium database Tier 3 🗄 database specialist
Define integration type registry static declarations
epic-external-system-integration-configuration-foundation-task-001

Create the static integration type registry that declares all supported external systems (Xledger, Dynamics, Cornerstone...

Integration Data Foundation & Credential Vault · External System Integration Configuration

critical low infrastructure Tier 0 ⚙ backend specialist
Document adapter extension guide and service API contracts
epic-external-system-integration-configuration-core-services-task-018

Write technical documentation covering: the adapter interface contract with implementation guide for adding a new extern...

Integration Business Logic & Adapter Services · External System Integration Configuration

medium low documentation Tier 9 📝 documentor
Implement Integration Config Service uniqueness enforcement
epic-external-system-integration-configuration-core-services-task-011

Add uniqueness enforcement logic to the Integration Config Service that prevents duplicate active configurations per org...

Integration Business Logic & Adapter Services · External System Integration Configuration

high medium backend Tier 5 ⚙ backend specialist
Implement field mapping save and update in Config Service
epic-external-system-integration-configuration-core-services-task-012

Extend the Integration Config Service to handle field mapping configuration saves and updates. Stores JSONB field mappin...

Integration Business Logic & Adapter Services · External System Integration Configuration

high medium backend Tier 5 ⚙ backend specialist
Implement Config Service connection test orchestration
epic-external-system-integration-configuration-core-services-task-013

Add connection testing capability to the Integration Config Service that delegates to the appropriate adapter's testConn...

Integration Business Logic & Adapter Services · External System Integration Configuration

high medium backend Tier 5 ⚙ backend specialist
Add adapter-schema-aware validation rules to validator
epic-external-system-integration-configuration-core-services-task-015

Enhance the IntegrationConfigValidator with adapter-aware validation rules that consult the registered adapter's getCapa...

Integration Business Logic & Adapter Services · External System Integration Configuration

high medium backend Tier 7 ⚙ backend specialist
Implement Cornerstone, Consio, and Bufdir adapters
epic-external-system-integration-configuration-core-services-task-008

Implement the remaining three REST adapters: CornerstoneAdapter (LMS/HR system), ConsioAdapter (membership management), ...

Integration Business Logic & Adapter Services · External System Integration Configuration

high high integration Tier 2 🔗 integration specialist
Write unit tests for all adapter implementations
epic-external-system-integration-configuration-core-services-task-016

Write comprehensive unit tests for all five adapter implementations covering authentication flows (with mocked OAuth res...

Integration Business Logic & Adapter Services · External System Integration Configuration

high medium testing Tier 4 🧪 testing specialist
Write integration tests for Config Service and Validator
epic-external-system-integration-configuration-core-services-task-017

Write integration tests for the Integration Config Service and Validator covering the full save flow: valid config saves...

Integration Business Logic & Adapter Services · External System Integration Configuration

high medium testing Tier 8 🧪 testing specialist
Implement Integration Config Validator core logic
epic-external-system-integration-configuration-core-services-task-002

Build the IntegrationConfigValidator service that validates integration configuration completeness and consistency befor...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical medium backend Tier 1 ⚙ backend specialist
Build Field Mapping Resolver JSONB loader
epic-external-system-integration-configuration-core-services-task-003

Implement the FieldMappingResolver service responsible for loading per-organization JSONB field mapping configurations f...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical medium backend Tier 1 ⚙ backend specialist
Implement Field Mapping Resolver payload transformation
epic-external-system-integration-configuration-core-services-task-004

Extend the FieldMappingResolver to apply loaded field mappings during export payload construction. Implements the transf...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical medium backend Tier 2 ⚙ backend specialist
Define REST API Adapter interface contract
epic-external-system-integration-configuration-core-services-task-005

Define the uniform adapter interface that all five external system REST adapters must implement. Interface includes: aut...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical medium backend Tier 1 ⚙ backend specialist
Register all adapters in AdapterRegistry
epic-external-system-integration-configuration-core-services-task-009

Complete the REST API Adapter Registry by registering all five adapters (Xledger, Dynamics, Cornerstone, Consio, Bufdir)...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical medium backend Tier 3 ⚙ backend specialist
Implement Integration Config Service CRUD orchestration
epic-external-system-integration-configuration-core-services-task-010

Build the Integration Config Service that orchestrates all CRUD operations for integration configurations. Implements cr...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical high backend Tier 4 ⚙ backend specialist
Implement validator integration in Config Service save flow
epic-external-system-integration-configuration-core-services-task-014

Wire the IntegrationConfigValidator into the Integration Config Service save and update flows. Ensures all configuration...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical medium backend Tier 6 ⚙ backend specialist
Define Integration Type Registry constants and metadata
epic-external-system-integration-configuration-core-services-task-001

Implement the IntegrationTypeRegistry infrastructure component that defines all supported external system types (Xledger...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical low infrastructure Tier 0 ⚙ backend specialist
Implement Xledger REST adapter
epic-external-system-integration-configuration-core-services-task-006

Implement the XledgerAdapter conforming to the uniform adapter interface. Handles Xledger-specific OAuth2 authentication...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical high integration Tier 2 🔗 integration specialist
Implement Dynamics portal REST adapter
epic-external-system-integration-configuration-core-services-task-007

Implement the DynamicsAdapter for Microsoft Dynamics portal integration used by HLF. Handles Azure AD / OAuth2 authentic...

Integration Business Logic & Adapter Services · External System Integration Configuration

critical high integration Tier 2 🔗 integration specialist
Manual trigger support for Sync Scheduler
epic-external-system-integration-configuration-backend-infrastructure-task-009

Add manual trigger capability to the Sync Scheduler allowing coordinators and admins to initiate an integration sync out...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium api Tier 4 🔌 api specialist
Request/response transformation middleware
epic-external-system-integration-configuration-backend-infrastructure-task-004

Build the transformation middleware layer within the Edge Function that converts internal data models into external API ...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium backend Tier 3 ⚙ backend specialist
Edge Function error handling and retry logic
epic-external-system-integration-configuration-backend-infrastructure-task-005

Implement structured error handling within the Edge Function including classification of transient vs permanent failures...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium backend Tier 3 ⚙ backend specialist
Sync Scheduler cron configuration reader
epic-external-system-integration-configuration-backend-infrastructure-task-007

Implement the cron configuration reader for the Sync Scheduler that queries the organization_integrations table and read...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium backend Tier 0 ⚙ backend specialist
Sync Scheduler concurrency guard and dead letter queue
epic-external-system-integration-configuration-backend-infrastructure-task-011

Implement concurrency protection to prevent overlapping sync runs for the same integration. Use a database-level advisor...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium backend Tier 4 ⚙ backend specialist
Health Monitor connectivity test framework
epic-external-system-integration-configuration-backend-infrastructure-task-012

Build the core health check framework for the Integration Health Monitor. Define a HealthCheck interface with methods ch...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium backend Tier 2 ⚙ backend specialist
Sync job status tracking and run log storage
epic-external-system-integration-configuration-backend-infrastructure-task-010

Design and implement the sync_run_log database table and associated repository layer for the Sync Scheduler. The table t...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium database Tier 1 🗄 database specialist
Health status aggregation and persistence
epic-external-system-integration-configuration-backend-infrastructure-task-014

Implement the integration_health_status table and repository for storing and querying health check results. The table ho...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium database Tier 3 🗄 database specialist
Health Monitor scheduled polling and alerting
epic-external-system-integration-configuration-backend-infrastructure-task-015

Set up the scheduled polling mechanism that invokes the health monitor on a configurable interval (default every 15 minu...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high medium infrastructure Tier 4 🏗 infrastructure specialist
Per-integration health check implementations
epic-external-system-integration-configuration-backend-infrastructure-task-013

Implement concrete health check classes for each supported integration target: Xledger (authenticate + list accounts end...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high high integration Tier 3 🔗 integration specialist
End-to-end integration and smoke test suite
epic-external-system-integration-configuration-backend-infrastructure-task-016

Write an end-to-end test suite covering the full integration pipeline: Edge Function receives a dispatch request, retrie...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

high high testing Tier 5 🧪 testing specialist
Vault credential access layer in Edge Functions
epic-external-system-integration-configuration-backend-infrastructure-task-002

Implement the secure credential retrieval layer within the Edge Functions environment. Create a CredentialProvider modul...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

critical high backend Tier 1 ⚙ backend specialist
REST API adapter dispatch router in Edge Function
epic-external-system-integration-configuration-backend-infrastructure-task-003

Implement the core dispatch routing logic inside the Edge Function that receives export job requests, identifies the tar...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

critical high backend Tier 2 ⚙ backend specialist
Edge Function authentication and authorization
epic-external-system-integration-configuration-backend-infrastructure-task-006

Implement the authentication guard for incoming Edge Function invocations. Verify that callers are either the Sync Sched...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

critical medium backend Tier 1 ⚙ backend specialist
Sync Scheduler job trigger engine
epic-external-system-integration-configuration-backend-infrastructure-task-008

Build the core job trigger engine that executes on a pg_cron or Supabase scheduled Edge Function invocation. The engine ...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

critical high backend Tier 3 ⚙ backend specialist
Edge Function project scaffold and deployment config
epic-external-system-integration-configuration-backend-infrastructure-task-001

Scaffold the Supabase Edge Functions project structure for the integration adapter dispatch layer. Configure Deno runtim...

Edge Functions, Sync Scheduler & Health Monitoring · External System Integration Configuration

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Field mapping Bufdir override column support
epic-external-system-integration-configuration-admin-ui-task-009

Extend the Field Mapping Editor to support Bufdir-specific override columns. When mapping target fields, allow administr...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

medium medium frontend Tier 2 🎨 frontend specialist
Delete integration with confirmation dialog
epic-external-system-integration-configuration-admin-ui-task-015

Add delete integration capability to the dashboard. Each integration card should show a delete action accessible via ove...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

medium low frontend Tier 4 🎨 frontend specialist
Error states and empty state screens
epic-external-system-integration-configuration-admin-ui-task-019

Design and implement error state and empty state screens for the Integration Configuration Dashboard (no integrations co...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

medium low frontend Tier 3 🎨 frontend specialist
Admin UI integration documentation
epic-external-system-integration-configuration-admin-ui-task-020

Document the Integration Admin UI components: write developer usage notes for each panel widget covering required props,...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

low low documentation Tier 8 📝 documentor
Sync Schedule Configuration UI panel
epic-external-system-integration-configuration-admin-ui-task-001

Build the Sync Schedule Configuration panel widget allowing administrators to select sync frequency (hourly, daily, week...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high low frontend Tier 0 🎨 frontend specialist
Field Mapping Editor visual mapper widget
epic-external-system-integration-configuration-admin-ui-task-003

Build the Field Mapping Editor widget providing a visual source-to-target column mapping interface. Support drag-and-dro...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high high frontend Tier 1 🎨 frontend specialist
Excluded Features Config Panel widget
epic-external-system-integration-configuration-admin-ui-task-004

Create the Excluded Features Configuration Panel allowing HLF administrators to toggle off specific app features that ov...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium frontend Tier 1 🎨 frontend specialist
Integration type selection step UI
epic-external-system-integration-configuration-admin-ui-task-007

Implement the first step of the setup wizard: an integration type selection screen listing available integration types (...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high low frontend Tier 3 🎨 frontend specialist
Wizard step validation logic and error display
epic-external-system-integration-configuration-admin-ui-task-008

Add per-step validation logic to the Integration Setup Wizard. Each step must validate required fields before allowing n...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium frontend Tier 4 🎨 frontend specialist
Dashboard real-time status and last-sync display
epic-external-system-integration-configuration-admin-ui-task-011

Connect the Integration Configuration Dashboard to live integration health data from the Integration Health Monitor serv...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium integration Tier 2 🔗 integration specialist
Manual sync trigger button and feedback flow
epic-external-system-integration-configuration-admin-ui-task-012

Implement manual sync trigger in both the Integration Configuration Dashboard card and within the wizard's final step. O...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium integration Tier 3 🔗 integration specialist
Excluded features persistence and backend binding
epic-external-system-integration-configuration-admin-ui-task-013

Connect the Excluded Features Configuration Panel to the Integration Config Service backend. On toggle change, call the ...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium integration Tier 2 🔗 integration specialist
Sync schedule UI binding to scheduler API
epic-external-system-integration-configuration-admin-ui-task-016

Wire the Sync Schedule Configuration panel to the Sync Scheduler service API. On save, persist frequency and time-of-day...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium integration Tier 1 🔗 integration specialist
Accessibility audit of all integration admin screens
epic-external-system-integration-configuration-admin-ui-task-017

Conduct a full WCAG 2.2 AA accessibility audit across the Integration Configuration Dashboard, Setup Wizard, Field Mappi...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium testing Tier 6 🧪 testing specialist
Widget and integration tests for UI components
epic-external-system-integration-configuration-admin-ui-task-018

Write Flutter widget tests for each UI component: Integration Configuration Dashboard card rendering and status badge st...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

high medium testing Tier 7 🧪 testing specialist
Credential Management Form with masked inputs
epic-external-system-integration-configuration-admin-ui-task-002

Implement the Credential Management Form widget with masked input fields for API keys, client secrets, and passwords. In...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

critical medium frontend Tier 1 🎨 frontend specialist
Integration Configuration Dashboard listing screen
epic-external-system-integration-configuration-admin-ui-task-005

Implement the Integration Configuration Dashboard screen listing all configured integrations with status indicator badge...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

critical medium frontend Tier 1 🎨 frontend specialist
Integration Setup Wizard multi-step shell
epic-external-system-integration-configuration-admin-ui-task-006

Build the multi-step Integration Setup Wizard shell with step progress indicator, forward/back navigation, per-step vali...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

critical high frontend Tier 2 🎨 frontend specialist
Credential Management connection-test integration
epic-external-system-integration-configuration-admin-ui-task-010

Wire the Credential Management Form connection-test button to the Integration Config Service API endpoint. Display a loa...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

critical medium integration Tier 2 🔗 integration specialist
Wizard save and edit integration config flow
epic-external-system-integration-configuration-admin-ui-task-014

Implement wizard completion saving: on final confirmation, POST or PATCH the complete integration configuration to the I...

Integration Admin UI — Dashboard, Wizard & Configuration Panels · External System Integration Configuration

critical high integration Tier 5 ⚡ fullstack developer
Document spatial infrastructure setup and RLS policies
epic-geographic-peer-mentor-map-data-infrastructure-task-014

Write developer documentation covering: how to run the PostGIS migrations locally, how the bounding-box RPC works and it...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

medium low documentation Tier 7 📝 documentor
Write unit tests for LocationPrivacyConfig
epic-geographic-peer-mentor-map-data-infrastructure-task-012

Write unit tests for LocationPrivacyConfig covering: loading config from Supabase, default fallback values when org conf...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

medium low testing Tier 4 🧪 testing specialist
Write unit tests for MapProviderIntegration wrapper
epic-geographic-peer-mentor-map-data-infrastructure-task-013

Write widget and unit tests for MapProviderIntegration verifying: map widget renders without error with zero markers, on...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

medium medium testing Tier 2 🧪 testing specialist
Add organisation privacy settings to Supabase migration
epic-geographic-peer-mentor-map-data-infrastructure-task-006

Create a Supabase migration adding location_privacy_settings JSONB column to the organisations table (or a dedicated org...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

high low database Tier 3 🗄 database specialist
Implement location privacy configuration module
epic-geographic-peer-mentor-map-data-infrastructure-task-005

Implement the LocationPrivacyConfig class that centralises per-organisation privacy settings: consent expiry duration, r...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

high low infrastructure Tier 2 ⚙ backend specialist
Add flutter_map and OpenStreetMap dependencies
epic-geographic-peer-mentor-map-data-infrastructure-task-009

Add flutter_map and latlong2 packages to pubspec.yaml. Configure the OpenStreetMap tile URL template, attribution string...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

high low infrastructure Tier 0 🏗 infrastructure specialist
Implement MapProviderIntegration SDK abstraction
epic-geographic-peer-mentor-map-data-infrastructure-task-010

Implement the MapProviderIntegration class that wraps flutter_map behind a provider-agnostic interface. Expose buildMapW...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

high high integration Tier 1 🎨 frontend specialist
Implement MentorLocationRepository Dart class
epic-geographic-peer-mentor-map-data-infrastructure-task-007

Implement the MentorLocationRepository class in Dart using the Supabase client. Provide methods: upsertMentorLocation(me...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

critical high backend Tier 4 ⚙ backend specialist
Design PostGIS spatial schema for mentor locations
epic-geographic-peer-mentor-map-data-infrastructure-task-001

Design and document the PostGIS-enabled database schema for storing mentor location data, including geometry columns, sp...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

critical medium database Tier 0 🗄 database specialist
Create Supabase migration for mentor_locations table
epic-geographic-peer-mentor-map-data-infrastructure-task-002

Write and apply a Supabase migration that enables the PostGIS extension, creates the mentor_locations table with all req...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

critical high database Tier 1 🗄 database specialist
Implement RLS policies for location data isolation
epic-geographic-peer-mentor-map-data-infrastructure-task-003

Implement row-level security policies on the mentor_locations table enforcing organisation-scoped access. Coordinators m...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

critical high database Tier 2 🗄 database specialist
Create PostGIS bounding-box RPC function
epic-geographic-peer-mentor-map-data-infrastructure-task-004

Write a Supabase RPC function (find_mentors_in_bounds) that accepts min_lat, min_lng, max_lat, max_lng, and organisation...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

critical high database Tier 3 🗄 database specialist
Implement PostGIS spatial query adapter
epic-geographic-peer-mentor-map-data-infrastructure-task-008

Implement the PostgisSpatialAdapter class that translates flutter_map LatLngBounds into Supabase RPC call parameters (mi...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

critical medium integration Tier 5 🔗 integration specialist
Wire spatial adapter into repository and test RPC integration
epic-geographic-peer-mentor-map-data-infrastructure-task-011

Integrate the PostgisSpatialAdapter into MentorLocationRepository.findMentorsInBounds() replacing any stub implementatio...

Spatial Data Infrastructure & Map Provider Foundation · Geographic Peer Mentor Map View

critical medium testing Tier 6 ⚙ backend specialist
Implement consent version management and re-consent flow
epic-geographic-peer-mentor-map-consent-privacy-task-009

Add consent versioning to location-privacy-config and location-consent-service so that when an organisation updates its ...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

high medium backend Tier 5 ⚙ backend specialist
Document GDPR compliance evidence and consent audit trail
epic-geographic-peer-mentor-map-consent-privacy-task-011

Produce developer documentation covering: the consent data model and its mapping to GDPR Articles 6 and 9, the audit log...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

high low documentation Tier 7 📝 documentor
Expose consent status API endpoint for service layer
epic-geographic-peer-mentor-map-consent-privacy-task-008

Create a Supabase Edge Function or RPC endpoint that wraps checkConsent and returns a typed ConsentStatusResponse for us...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical low api Tier 3 🔌 api specialist
Build consent grant and status check service
epic-geographic-peer-mentor-map-consent-privacy-task-003

Implement the core backend service methods on location-consent-service: grantConsent(mentorId, orgId, consentVersion), c...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical medium backend Tier 2 ⚙ backend specialist
Implement consent revocation and data deletion
epic-geographic-peer-mentor-map-consent-privacy-task-004

Add revokeConsent(mentorId, orgId) method to location-consent-service that atomically marks the consent record as revoke...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical medium backend Tier 3 ⚙ backend specialist
Define consent database schema and migrations
epic-geographic-peer-mentor-map-consent-privacy-task-001

Design and implement the database schema for storing location consent records, including consent_grants table with field...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical medium database Tier 0 🗄 database specialist
Build location consent dialog UI widget
epic-geographic-peer-mentor-map-consent-privacy-task-006

Implement the location-consent-dialog Flutter widget that presents a plain-language explanation of what approximate loca...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical low frontend Tier 3 🎨 frontend specialist
Wire dialog to consent service and handle decision
epic-geographic-peer-mentor-map-consent-privacy-task-007

Connect the location-consent-dialog to location-consent-service so that tapping Opt In calls grantConsent and tapping Op...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical medium frontend Tier 4 🎨 frontend specialist
Implement location privacy configuration loader
epic-geographic-peer-mentor-map-consent-privacy-task-002

Build the location-privacy-config infrastructure component that loads and exposes per-organisation privacy policy URLs, ...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical low infrastructure Tier 1 ⚙ backend specialist
Configure Supabase RLS policies for consent table
epic-geographic-peer-mentor-map-consent-privacy-task-005

Write and apply Row Level Security policies on consent_grants and consent_audit_log tables so that a peer mentor can onl...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical medium infrastructure Tier 1 🗄 database specialist
Write unit and integration tests for consent lifecycle
epic-geographic-peer-mentor-map-consent-privacy-task-010

Implement comprehensive tests covering: grantConsent happy path, double-grant idempotency, revokeConsent atomicity with ...

Location Consent Lifecycle & GDPR Compliance · Geographic Peer Mentor Map View

critical medium testing Tier 6 🧪 testing specialist
Expose Riverpod providers for both services
epic-geographic-peer-mentor-map-core-services-task-011

Create Riverpod StateNotifierProvider or Provider definitions for MentorLocationService and MentorFilterService so they ...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

medium low backend Tier 5 ⚙ backend specialist
Integrate MentorFilterService into MentorLocationService fetch pipeline
epic-geographic-peer-mentor-map-core-services-task-005

Wire MentorFilterService into MentorLocationService so that every call to fetchMentorsInBoundingBox first validates and ...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high medium backend Tier 3 ⚙ backend specialist
Implement MentorMapBloc with dual state machines
epic-geographic-peer-mentor-map-core-services-task-006

Implement MentorMapBloc using flutter_bloc with two parallel state machines: one for map view state (loading, loaded, er...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high high backend Tier 4 ⚙ backend specialist
Implement haversine distance sort for list fallback view
epic-geographic-peer-mentor-map-core-services-task-007

Implement a client-side haversine distance calculation utility within MentorLocationService that takes the coordinator's...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high medium backend Tier 2 ⚙ backend specialist
Implement offline cache for mentor location data
epic-geographic-peer-mentor-map-core-services-task-008

Add an offline caching layer to MentorLocationService using a local Hive or shared_preferences store. On successful fetc...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high medium backend Tier 4 ⚙ backend specialist
Add availability status filter to MentorFilterService
epic-geographic-peer-mentor-map-core-services-task-009

Extend MentorFilterService to handle the availability status dimension: active, paused, all. Paused mentors must be excl...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high low backend Tier 2 ⚙ backend specialist
Add specialisation tag multi-select filter to MentorFilterService
epic-geographic-peer-mentor-map-core-services-task-010

Implement multi-select specialisation tag filtering in MentorFilterService. Tags are organisation-defined strings (e.g. ...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high low backend Tier 3 ⚙ backend specialist
Unit test suite for MentorLocationService
epic-geographic-peer-mentor-map-core-services-task-012

Write comprehensive unit tests for MentorLocationService covering: consent enforcement (opted-out mentors excluded), bou...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high medium testing Tier 5 🧪 testing specialist
Unit test suite for MentorFilterService
epic-geographic-peer-mentor-map-core-services-task-013

Write comprehensive unit tests for MentorFilterService covering: empty filter passthrough, availability-only filter, spe...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

high low testing Tier 4 🧪 testing specialist
Define MentorLocation and FilterCriteria domain models
epic-geographic-peer-mentor-map-core-services-task-001

Create the core Dart domain models: MentorLocation (mentorId, coordinates, consentStatus, specialisations, availabilityS...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

critical low backend Tier 0 ⚙ backend specialist
Implement MentorFilterService — core filter logic
epic-geographic-peer-mentor-map-core-services-task-002

Implement MentorFilterService that translates UI FilterState (availability, specialisation tags) into a validated Filter...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

critical low backend Tier 1 ⚙ backend specialist
Define MentorLocationService interface and failure types
epic-geographic-peer-mentor-map-core-services-task-003

Define the abstract MentorLocationService interface with methods: fetchMentorsInBoundingBox(box, criteria), getMentorsSo...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

critical low backend Tier 1 ⚙ backend specialist
Implement consent enforcement layer in MentorLocationService
epic-geographic-peer-mentor-map-core-services-task-004

Implement the consent status check within MentorLocationService that filters out any mentor whose location_consent field...

Mentor Location & Filter Business Logic Services · Geographic Peer Mentor Map View

critical medium backend Tier 2 ⚙ backend specialist
Write widget tests for map filter panel
epic-geographic-peer-mentor-map-ui-accessibility-task-016

Write Flutter widget tests for MapFilterPanel covering: panel collapses and expands correctly, each filter control emits...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

medium low testing Tier 3 🧪 testing specialist
Implement view toggle button FAB widget
epic-geographic-peer-mentor-map-ui-accessibility-task-002

Build the ViewToggleButton as a persistent FAB-style widget that switches between map and list views without resetting f...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high low frontend Tier 1 🎨 frontend specialist
Implement map filter panel bottom sheet
epic-geographic-peer-mentor-map-ui-accessibility-task-004

Build the MapFilterPanel as a collapsible bottom sheet with labelled form controls for availability status and specialis...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high medium frontend Tier 1 🎨 frontend specialist
Implement mentor info popup card widget
epic-geographic-peer-mentor-map-ui-accessibility-task-007

Build the MentorInfoPopup widget that renders when a map marker is tapped. The popup must load instantly from already-fe...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high medium frontend Tier 4 🎨 frontend specialist
Wire popup deep-link to peer mentor detail screen
epic-geographic-peer-mentor-map-ui-accessibility-task-008

Implement the deep-link navigation action from MentorInfoPopup to the peer mentor detail screen. On button tap, push the...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high low frontend Tier 5 🎨 frontend specialist
Synchronise list fallback filter state with map view
epic-geographic-peer-mentor-map-ui-accessibility-task-010

Ensure the MentorListFallback receives and applies the same FilterChanged events as the map canvas so that toggling view...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high medium frontend Tier 4 🎨 frontend specialist
Implement keyboard navigation for map overlay controls
epic-geographic-peer-mentor-map-ui-accessibility-task-011

Add full keyboard navigation to all overlay controls within MapViewScreen: filter panel toggle button, view toggle FAB, ...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high medium frontend Tier 4 🎨 frontend specialist
Implement filter panel availability and specialisation controls
epic-geographic-peer-mentor-map-ui-accessibility-task-013

Build the filter controls inside MapFilterPanel: a segmented availability selector (available, busy, any) and a multi-se...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high medium frontend Tier 2 🎨 frontend specialist
Write widget unit tests for map marker and toggle button
epic-geographic-peer-mentor-map-ui-accessibility-task-014

Write Flutter widget tests covering MapMarkerWidget and ViewToggleButton. Test cases must include: marker renders with c...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high low testing Tier 2 🧪 testing specialist
Write widget tests for mentor info popup and list fallback
epic-geographic-peer-mentor-map-ui-accessibility-task-015

Write Flutter widget tests for MentorInfoPopup and MentorListFallback. Popup tests: loads from BLoC state without networ...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

high medium testing Tier 5 🧪 testing specialist
Implement map view screen scaffold and BLoC wiring
epic-geographic-peer-mentor-map-ui-accessibility-task-001

Create the MapViewScreen widget as a full-screen scaffold that integrates with the mentor location BLoC. Set up the scre...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical high frontend Tier 0 🎨 frontend specialist
Implement map marker widget with colour coding and semantics
epic-geographic-peer-mentor-map-ui-accessibility-task-003

Build the MapMarkerWidget that renders a colour-coded circular marker for each consented mentor on the map canvas. Each ...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical medium frontend Tier 1 🎨 frontend specialist
Render mentor markers from BLoC state on map canvas
epic-geographic-peer-mentor-map-ui-accessibility-task-006

Connect the MapViewScreen to the mentor location BLoC state to place MapMarkerWidget instances on the map for each conse...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical high frontend Tier 3 🎨 frontend specialist
Implement mentor list fallback view widget
epic-geographic-peer-mentor-map-ui-accessibility-task-009

Build the MentorListFallback widget as a fully VoiceOver/TalkBack-compatible list view displaying the same filtered ment...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical medium frontend Tier 2 🎨 frontend specialist
Add ARIA labels and semantic roles across all map components
epic-geographic-peer-mentor-map-ui-accessibility-task-012

Conduct a full semantic annotation pass across all six map UI components: MapViewScreen, MapMarkerWidget, MentorInfoPopu...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical medium frontend Tier 5 🎨 frontend specialist
Integrate map provider into map view screen canvas
epic-geographic-peer-mentor-map-ui-accessibility-task-005

Integrate the map provider plugin (flutter_map or google_maps_flutter) into MapViewScreen to render the full-screen tile...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical high integration Tier 2 🔗 integration specialist
Conduct manual accessibility audit on all map UI components
epic-geographic-peer-mentor-map-ui-accessibility-task-017

Perform a manual WCAG 2.2 AA accessibility audit on all six map UI components using VoiceOver (iOS) and TalkBack (Androi...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical medium testing Tier 6 🧪 testing specialist
Integration test: full map feature user flow
epic-geographic-peer-mentor-map-ui-accessibility-task-018

Write a Flutter integration test covering the complete coordinator map feature flow: open map screen, verify mentors app...

Interactive Map UI, Accessible List Fallback & Progressive Enhancement · Geographic Peer Mentor Map View

critical high testing Tier 7 🧪 testing specialist
Build NotificationEmptyState widget
epic-in-app-notification-centre-foundation-task-008

Implement the NotificationEmptyState as a stateless Flutter widget displayed when the notification list is empty or a fi...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

medium low frontend Tier 0 🎨 frontend specialist
Widget tests for NotificationListItem and EmptyState
epic-in-app-notification-centre-foundation-task-012

Write widget tests for NotificationListItem and NotificationEmptyState using flutter_test and WidgetTester. For Notifica...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

medium low testing Tier 3 🧪 testing specialist
Build NotificationAccessibilityAnnouncer utility
epic-in-app-notification-centre-foundation-task-005

Implement the NotificationAccessibilityAnnouncer as a singleton utility that uses Flutter's SemanticsService.announce() ...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

high low frontend Tier 2 🎨 frontend specialist
Build NotificationListItem widget
epic-in-app-notification-centre-foundation-task-007

Implement the NotificationListItem as a stateless Flutter widget accepting a Notification object. Render: type-specific ...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

high low frontend Tier 2 🎨 frontend specialist
Write unit tests for Notification domain model and payloads
epic-in-app-notification-centre-foundation-task-009

Write comprehensive unit tests covering: correct JSONB deserialization for all five NotificationPayload subtypes (remind...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

high low testing Tier 2 🧪 testing specialist
Write unit tests for NotificationRepository queries
epic-in-app-notification-centre-foundation-task-010

Write unit tests for NotificationRepository using a mocked Supabase client. Cover: getNotifications returns correctly ty...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

high medium testing Tier 3 🧪 testing specialist
Write unit tests for Realtime subscription service
epic-in-app-notification-centre-foundation-task-011

Write unit tests for SupabaseRealtimeSubscriptionService using a mock Supabase Realtime channel. Cover: subscription ope...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

high medium testing Tier 4 🧪 testing specialist
Implement typed NotificationPayload sub-models
epic-in-app-notification-centre-foundation-task-002

Define Dart sealed classes or freezed union types for NotificationPayload with five concrete subtypes: ReminderPayload (...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

critical medium backend Tier 0 ⚙ backend specialist
Build Notification domain model with JSONB parsing
epic-in-app-notification-centre-foundation-task-003

Create the Notification entity class in Dart with all fields: id, userId, type (NotificationType enum), payload (typed N...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

critical low backend Tier 1 ⚙ backend specialist
Implement NotificationRepository with role-scoped queries
epic-in-app-notification-centre-foundation-task-004

Create the NotificationRepository class backed by Supabase. Implement: getNotifications(userId, {limit, offset, typeFilt...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

critical medium backend Tier 2 ⚙ backend specialist
Create notifications table migration and RLS policies
epic-in-app-notification-centre-foundation-task-001

Write Supabase migration to create the notifications table with columns: id, user_id, type (enum: reminder, expiry, scen...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

critical medium database Tier 0 🗄 database specialist
Implement SupabaseRealtimeSubscriptionService for notifications
epic-in-app-notification-centre-foundation-task-006

Create a SupabaseRealtimeSubscriptionService that opens a Supabase Realtime channel scoped to the current authenticated ...

Notification Centre Data Foundation & Infrastructure · In-app Notification Centre

critical medium infrastructure Tier 3 🏗 infrastructure specialist
Implement rollback logic on read state mutation failure
epic-in-app-notification-centre-services-task-005

Add rollback handling to the Notification Read State Service. When a repository mutation fails (network error, RLS rejec...

Notification Centre Business Services & BLoC · In-app Notification Centre

high medium backend Tier 1 ⚙ backend specialist
Implement clear-all and active filter state management
epic-in-app-notification-centre-services-task-009

Add ClearAllNotifications and ApplyNotificationFilter event handlers to the NotificationBloc. ClearAllNotifications dism...

Notification Centre Business Services & BLoC · In-app Notification Centre

high medium backend Tier 6 ⚙ backend specialist
Unit test filter service and read state service
epic-in-app-notification-centre-services-task-010

Write unit tests for the Role-Aware Notification Filter Service and the Notification Read State Service using flutter_te...

Notification Centre Business Services & BLoC · In-app Notification Centre

high medium testing Tier 2 🧪 testing specialist
BLoC integration test: full notification lifecycle
epic-in-app-notification-centre-services-task-011

Write bloc_test integration tests for the NotificationBloc covering the full notification lifecycle: initial load, Realt...

Notification Centre Business Services & BLoC · In-app Notification Centre

high medium testing Tier 7 🧪 testing specialist
Define role-aware filter predicate interfaces
epic-in-app-notification-centre-services-task-001

Define the Dart abstract interfaces and data models for the Role-Aware Notification Filter Service. Establish the Filter...

Notification Centre Business Services & BLoC · In-app Notification Centre

critical low backend Tier 0 ⚙ backend specialist
Build Supabase query predicates for each role scope
epic-in-app-notification-centre-services-task-002

Implement the Supabase query predicate builders inside the Role-Aware Notification Filter Service for each role scope: p...

Notification Centre Business Services & BLoC · In-app Notification Centre

critical medium backend Tier 1 ⚙ backend specialist
Implement in-memory filtering rules per role
epic-in-app-notification-centre-services-task-003

Implement the in-memory filtering pass that runs after the database query returns results. Apply coordinator-specific ru...

Notification Centre Business Services & BLoC · In-app Notification Centre

critical medium backend Tier 2 ⚙ backend specialist
Implement Read State Service with optimistic updates
epic-in-app-notification-centre-services-task-004

Implement the Notification Read State Service class that wraps notification repository mutation calls. On mark-read or m...

Notification Centre Business Services & BLoC · In-app Notification Centre

critical medium backend Tier 0 ⚙ backend specialist
Bootstrap Notification BLoC and Realtime subscription
epic-in-app-notification-centre-services-task-006

Create the NotificationBloc class extending Bloc. On bloc initialisation (NotificationInitialised event), inject and sub...

Notification Centre Business Services & BLoC · In-app Notification Centre

critical high backend Tier 3 ⚙ backend specialist
Process Realtime INSERT events into BLoC state
epic-in-app-notification-centre-services-task-007

Handle incoming Realtime INSERT events within the NotificationBloc. Deserialise the raw Supabase payload into a Notifica...

Notification Centre Business Services & BLoC · In-app Notification Centre

critical medium backend Tier 4 ⚙ backend specialist
Implement mark-read and mark-all-read BLoC commands
epic-in-app-notification-centre-services-task-008

Add MarkNotificationRead and MarkAllNotificationsRead event handlers to the NotificationBloc. Delegate mutation to the N...

Notification Centre Business Services & BLoC · In-app Notification Centre

critical medium backend Tier 5 ⚙ backend specialist
Build Notification Filter Bar chip row widget
epic-in-app-notification-centre-ui-task-001

Implement the NotificationFilterBar as a horizontally scrollable chip row widget that renders filter options for notific...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high low frontend Tier 0 🎨 frontend specialist
Connect Filter Bar to NotificationBLoC state
epic-in-app-notification-centre-ui-task-002

Wire the NotificationFilterBar to the NotificationBLoC using BlocBuilder so the active filter chips reflect the current ...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high low frontend Tier 1 🎨 frontend specialist
Implement Notification Tab Badge reactive overlay
epic-in-app-notification-centre-ui-task-003

Build the NotificationTabBadge as a Stack-based overlay widget that wraps the bottom-navigation Notifications icon. Subs...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high low frontend Tier 0 🎨 frontend specialist
Integrate Tab Badge into role-aware bottom nav
epic-in-app-notification-centre-ui-task-004

Mount the NotificationTabBadge onto the Notifications tab icon inside the role-aware bottom navigation bar (component 04...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high low frontend Tier 1 🎨 frontend specialist
Implement Notification Deep Link Handler route resolver
epic-in-app-notification-centre-ui-task-005

Build the NotificationDeepLinkHandler service that parses a notification payload (notification_type, entity_id, entity_t...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high medium frontend Tier 0 🎨 frontend specialist
Handle deleted entity gracefully in deep link navigation
epic-in-app-notification-centre-ui-task-006

Extend the NotificationDeepLinkHandler to catch 404/not-found responses from repositories when resolving entity_id befor...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high medium frontend Tier 1 🎨 frontend specialist
Implement loading skeletons and empty state in Notification Centre
epic-in-app-notification-centre-ui-task-008

Add loading skeleton placeholders (shimmer animation using design token colors) that display while the BLoC is in Notifi...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high low frontend Tier 3 🎨 frontend specialist
Implement pull-to-refresh and infinite scroll pagination
epic-in-app-notification-centre-ui-task-009

Add pull-to-refresh to the NotificationCentreScreen using RefreshIndicator that dispatches RefreshNotifications to the B...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high medium frontend Tier 4 🎨 frontend specialist
Wire NotificationListItem tap to deep link handler
epic-in-app-notification-centre-ui-task-010

Connect each NotificationListItem tap gesture in the NotificationCentreScreen to the NotificationDeepLinkHandler. On tap...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high low frontend Tier 5 🎨 frontend specialist
Apply full WCAG 2.2 AA semantics to Notification Centre
epic-in-app-notification-centre-ui-task-011

Audit and apply complete WCAG 2.2 AA accessibility semantics across all NotificationCentreScreen sub-widgets: add Semant...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high medium frontend Tier 6 🎨 frontend specialist
Write integration and widget tests for Notification Centre UI
epic-in-app-notification-centre-ui-task-012

Write a comprehensive test suite using flutter_test covering: (1) NotificationFilterBar emits correct BLoC events on chi...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

high medium testing Tier 7 🧪 testing specialist
Build Notification Centre Screen scaffold and layout
epic-in-app-notification-centre-ui-task-007

Implement the NotificationCentreScreen as the main Notifications tab screen. Assemble the layout: app bar with title and...

Notification Centre UI, Deep Linking & Tab Badge · In-app Notification Centre

critical medium frontend Tier 2 🎨 frontend specialist
Add Riverpod providers for repository and utility classes
epic-membership-recruitment-foundation-task-009

Create Riverpod providers for ReferralCodeRepository, RecruitmentAttributionRepository, ShareSheetBridge, QrCodeGenerato...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

high low backend Tier 3 ⚙ backend specialist
Implement QrCodeGenerator widget
epic-membership-recruitment-foundation-task-005

Implement the QrCodeGenerator Flutter widget wrapping the qr_flutter package. The widget accepts a data string (referral...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

high low frontend Tier 0 🎨 frontend specialist
Implement ShareSheetBridge service
epic-membership-recruitment-foundation-task-006

Implement the ShareSheetBridge Dart service wrapping the share_plus package. Expose shareReferralCode(referralUrl, mento...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

high low infrastructure Tier 1 🏗 infrastructure specialist
Write unit tests for ReferralCodeRepository
epic-membership-recruitment-foundation-task-010

Write flutter_test unit tests for ReferralCodeRepository using a mock Supabase client. Cover: successful code creation, ...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

high low testing Tier 2 🧪 testing specialist
Write unit tests for RecruitmentAttributionRepository
epic-membership-recruitment-foundation-task-011

Write flutter_test unit tests for RecruitmentAttributionRepository using a mock Supabase client. Cover: event recording ...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

high medium testing Tier 3 🧪 testing specialist
Integration test: deep-link cold-start and foreground routing
epic-membership-recruitment-foundation-task-012

Write an integration test (flutter_test integration_test package) that simulates a cold-start launch with a referral dee...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

high medium testing Tier 4 🧪 testing specialist
Implement ReferralCodeRepository class
epic-membership-recruitment-foundation-task-003

Implement the ReferralCodeRepository Dart class backed by the Supabase client. Expose methods: createCode(mentorId, orgI...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

critical medium backend Tier 1 ⚙ backend specialist
Implement RecruitmentAttributionRepository class
epic-membership-recruitment-foundation-task-004

Implement the RecruitmentAttributionRepository Dart class backed by Supabase. Expose methods: recordEvent(referralCodeId...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

critical medium backend Tier 2 ⚙ backend specialist
Create Supabase migration for referral_codes table
epic-membership-recruitment-foundation-task-001

Write and apply a Supabase database migration that creates the referral_codes table with columns for id, mentor_id, orga...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

critical medium database Tier 0 🗄 database specialist
Create Supabase migration for referral_events table
epic-membership-recruitment-foundation-task-002

Write and apply a Supabase database migration that creates the referral_events table with columns for id, referral_code_...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

critical medium database Tier 1 🗄 database specialist
Implement DeepLinkHandler for referral URIs
epic-membership-recruitment-foundation-task-007

Implement the DeepLinkHandler service that intercepts incoming deep links matching the referral URI scheme (e.g., app://...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Register deep-link URI schemes in platform manifests
epic-membership-recruitment-foundation-task-008

Configure Android AndroidManifest.xml intent filters and iOS Info.plist URL schemes and associated domains to support th...

Membership Recruitment: Data Layer & Infrastructure Utilities · Membership Recruitment (Verving)

critical low infrastructure Tier 1 🏗 infrastructure specialist
Build shareable deep-link URL constructor
epic-membership-recruitment-core-services-task-003

Implement the getShareableUrl method in ReferralCodeService that fetches the organisation's configured deep-link scheme ...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high low backend Tier 2 ⚙ backend specialist
Implement code invalidation on mentor deactivation
epic-membership-recruitment-core-services-task-004

Add the invalidateCode method to ReferralCodeService that marks a mentor's referral code as inactive when their account ...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high medium backend Tier 2 ⚙ backend specialist
Expose aggregated attribution counts for dashboards
epic-membership-recruitment-core-services-task-009

Implement the getAttributionCountsForMentor method in ReferralAttributionService. This method queries the repository for...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high medium backend Tier 4 ⚙ backend specialist
Publish recruitment milestone events to badge layer
epic-membership-recruitment-core-services-task-010

Implement the publishMilestoneEvent method in ReferralAttributionService. After each confirmed attribution, evaluate whe...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high medium integration Tier 5 ⚙ backend specialist
Wire badge system notification subscription path
epic-membership-recruitment-core-services-task-011

Wire the notification path from ReferralAttributionService to the BadgeCriteriaIntegration layer so the badge system can...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high medium integration Tier 6 ⚙ backend specialist
Unit test ReferralCodeService with mocked repository
epic-membership-recruitment-core-services-task-012

Write a comprehensive flutter_test unit test suite for ReferralCodeService using a mocked ReferralCodeRepository. Cover:...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high medium testing Tier 3 🧪 testing specialist
Unit test ReferralAttributionService with mocked repos
epic-membership-recruitment-core-services-task-013

Write a comprehensive flutter_test unit test suite for ReferralAttributionService using mocked RecruitmentAttributionRep...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high high testing Tier 7 🧪 testing specialist
Integration test full recruitment conversion funnel
epic-membership-recruitment-core-services-task-014

Write an end-to-end integration test that exercises the complete conversion funnel through both services: generate a ref...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

high high testing Tier 8 🔗 integration specialist
Scaffold ReferralCodeService Riverpod provider
epic-membership-recruitment-core-services-task-001

Create the ReferralCodeService class as a Riverpod provider with constructor injection of the ReferralCodeRepository dep...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

critical medium backend Tier 0 ⚙ backend specialist
Implement deterministic referral code generation
epic-membership-recruitment-core-services-task-002

Implement the deterministic, URL-safe code generation algorithm in ReferralCodeService. The algorithm must produce one u...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

critical medium backend Tier 1 ⚙ backend specialist
Scaffold ReferralAttributionService Riverpod provider
epic-membership-recruitment-core-services-task-005

Create the ReferralAttributionService class as a Riverpod provider with constructor injection of the RecruitmentAttribut...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

critical medium backend Tier 0 ⚙ backend specialist
Implement click event recording via Edge Function
epic-membership-recruitment-core-services-task-006

Implement the recordClickEvent method in ReferralAttributionService. This method receives a referral code and device met...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

critical medium backend Tier 1 ⚙ backend specialist
Match confirmed registrations to referral codes
epic-membership-recruitment-core-services-task-007

Implement the matchRegistrationToCode method in ReferralAttributionService. When a new member registration is confirmed,...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

critical high backend Tier 2 ⚙ backend specialist
Confirm attribution after membership verification
epic-membership-recruitment-core-services-task-008

Implement the confirmAttribution method in ReferralAttributionService. When the membership system signals that a referre...

Membership Recruitment: Referral Code & Attribution Services · Membership Recruitment (Verving)

critical medium backend Tier 3 ⚙ backend specialist
Document referral UI components and Riverpod providers
epic-membership-recruitment-peer-mentor-ui-task-014

Write developer documentation for ReferralCodeScreen, RecruitmentStatsWidget, and NewMemberOnboardingScreen covering com...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

medium low documentation Tier 7 📝 documentor
Embed RecruitmentStatsWidget on peer mentor home screen
epic-membership-recruitment-peer-mentor-ui-task-007

Add RecruitmentStatsWidget to the peer mentor role-specific home screen as a summary card. Ensure it is positioned corre...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

medium low frontend Tier 1 🎨 frontend specialist
Scaffold ReferralCodeScreen layout and routing
epic-membership-recruitment-peer-mentor-ui-task-001

Create the ReferralCodeScreen widget with basic scaffold, app bar, and placeholder content areas. Register the route in ...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high low frontend Tier 0 🎨 frontend specialist
Integrate QR code rendering in ReferralCodeScreen
epic-membership-recruitment-peer-mentor-ui-task-002

Wire the QrCodeGenerator infrastructure component into ReferralCodeScreen to render the mentor's unique referral QR code...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high medium frontend Tier 1 🎨 frontend specialist
Add shareable link with copy-to-clipboard
epic-membership-recruitment-peer-mentor-ui-task-003

Display the mentor's shareable referral URL below the QR code. Implement a copy-to-clipboard button using Flutter's Clip...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high low frontend Tier 2 🎨 frontend specialist
Build RecruitmentStatsWidget skeleton and Riverpod provider
epic-membership-recruitment-peer-mentor-ui-task-005

Create the RecruitmentStatsWidget StatelessWidget displaying total shares, confirmed conversions, and pending signups. W...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high low frontend Tier 0 🎨 frontend specialist
Embed RecruitmentStatsWidget in ReferralCodeScreen
epic-membership-recruitment-peer-mentor-ui-task-006

Embed the RecruitmentStatsWidget at the bottom of ReferralCodeScreen beneath the share controls. Ensure the stats refres...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high low frontend Tier 4 🎨 frontend specialist
Scaffold NewMemberOnboardingScreen and deep-link entry
epic-membership-recruitment-peer-mentor-ui-task-008

Create the NewMemberOnboardingScreen widget and register it in the router as the destination for referral deep links. Co...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high medium frontend Tier 0 🎨 frontend specialist
Display org branding and Norwegian welcome message
epic-membership-recruitment-peer-mentor-ui-task-009

On NewMemberOnboardingScreen, display the organisation's logo, brand colors sourced from the design token system, and a ...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high low frontend Tier 1 🎨 frontend specialist
Build contact details collection form on onboarding screen
epic-membership-recruitment-peer-mentor-ui-task-010

Implement a contact details form on NewMemberOnboardingScreen collecting the new member's name, phone number, and email ...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high medium frontend Tier 2 🎨 frontend specialist
Apply WCAG 2.2 AA accessibility across all three screens
epic-membership-recruitment-peer-mentor-ui-task-012

Audit ReferralCodeScreen, RecruitmentStatsWidget, and NewMemberOnboardingScreen for WCAG 2.2 AA compliance. Verify contr...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high medium frontend Tier 5 🎨 frontend specialist
Integrate ShareSheetBridge one-tap share button
epic-membership-recruitment-peer-mentor-ui-task-004

Add a prominent one-tap share button on ReferralCodeScreen that invokes ShareSheetBridge with the referral link and a pr...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high low integration Tier 3 🔗 integration specialist
Submit referral attribution record on onboarding completion
epic-membership-recruitment-peer-mentor-ui-task-011

On form submission in NewMemberOnboardingScreen, call ReferralAttributionService via Riverpod to persist the attribution...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high medium integration Tier 3 🔗 integration specialist
Write widget and integration tests for referral UI
epic-membership-recruitment-peer-mentor-ui-task-013

Write Flutter widget tests for ReferralCodeScreen, RecruitmentStatsWidget, and NewMemberOnboardingScreen covering render...

Membership Recruitment: Peer Mentor Referral UI · Membership Recruitment (Verving)

high medium testing Tier 6 🧪 testing specialist
Implement conversion funnel visualisation widget
epic-membership-recruitment-coordinator-badge-task-004

Build a ConversionFunnelWidget that renders three funnel stages — shared → clicked → registered — with counts and drop-o...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

medium medium frontend Tier 3 🎨 frontend specialist
Add date-range filter bar to recruitment dashboard
epic-membership-recruitment-coordinator-badge-task-005

Integrate a DateRangeFilterBar widget into the coordinator recruitment dashboard allowing selection of preset ranges (la...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

medium low frontend Tier 3 🎨 frontend specialist
Build mentor referral detail drill-down screen
epic-membership-recruitment-coordinator-badge-task-006

Implement the MentorReferralDetailScreen that is navigated to when a coordinator taps a mentor row in the recruitment da...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

medium medium frontend Tier 3 🎨 frontend specialist
Test recruitment badge criteria evaluation logic
epic-membership-recruitment-coordinator-badge-task-010

Write unit tests for BadgeCriteriaIntegration covering: event subscription setup, correct badge criteria query by type, ...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

medium medium testing Tier 3 🧪 testing specialist
Integration test and accessibility audit for dashboard
epic-membership-recruitment-coordinator-badge-task-011

Write widget and integration tests for the coordinator recruitment dashboard: verify stats list renders with mocked BLoC...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

medium medium testing Tier 4 🧪 testing specialist
Define recruitment stats data models for dashboard
epic-membership-recruitment-coordinator-badge-task-001

Define the Dart data models and interfaces for aggregated recruitment statistics consumed by the coordinator dashboard. ...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

high low backend Tier 0 ⚙ backend specialist
Wire getAggregatedStatsForMentor to dashboard BLoC
epic-membership-recruitment-coordinator-badge-task-002

Create the CoordinatorRecruitmentDashboardBloc (or Cubit) that calls ReferralAttributionService.getAggregatedStatsForMen...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

high medium backend Tier 1 ⚙ backend specialist
Define RecruitmentMilestoneEvent model and subscription interface
epic-membership-recruitment-coordinator-badge-task-007

Define the RecruitmentMilestoneEvent Dart class emitted by ReferralAttributionService when a confirmed registration is r...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

high low backend Tier 0 ⚙ backend specialist
Build coordinator recruitment dashboard section UI
epic-membership-recruitment-coordinator-badge-task-003

Implement the CoordinatorRecruitmentDashboard widget as a new section within the existing coordinator statistics screen....

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

high medium frontend Tier 2 🎨 frontend specialist
Implement BadgeCriteriaIntegration event subscription
epic-membership-recruitment-coordinator-badge-task-008

Implement the BadgeCriteriaIntegration service that subscribes to RecruitmentMilestoneEvents from ReferralAttributionSer...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

high medium integration Tier 1 🔗 integration specialist
Wire badge award trigger for recruitment milestones
epic-membership-recruitment-coordinator-badge-task-009

Extend BadgeCriteriaIntegration to call BadgeAwardService (550-badge-award-service) when a mentor crosses a recruitment ...

Membership Recruitment: Coordinator Dashboard & Badge Integration · Membership Recruitment (Verving)

high medium integration Tier 2 ⚙ backend specialist
Unit test LocalDistanceCache persistence and TTL expiry
epic-mileage-reimbursement-entry-infrastructure-task-011

Write unit tests for LocalDistanceCache covering: write and read roundtrip, cache miss returns null, TTL expiry removes ...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

medium low testing Tier 1 🧪 testing specialist
Implement LocalDistanceCache with SharedPreferences backend
epic-mileage-reimbursement-entry-infrastructure-task-004

Build the LocalDistanceCache class backed by SharedPreferences to persist previously entered origin-destination distance...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

high low backend Tier 0 ⚙ backend specialist
Unit test MileageCalculationService rounding and edge cases
epic-mileage-reimbursement-entry-infrastructure-task-008

Write comprehensive unit tests for MileageCalculationService covering Norwegian rounding rules, zero distance, fractiona...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

high low testing Tier 2 🧪 testing specialist
Unit test AutoApprovalEvaluator for all threshold combinations
epic-mileage-reimbursement-entry-infrastructure-task-009

Write exhaustive unit tests for AutoApprovalEvaluator covering all decision paths: below threshold without attachment, b...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

high low testing Tier 2 🧪 testing specialist
Integration test Supabase mileage adapter with RLS
epic-mileage-reimbursement-entry-infrastructure-task-010

Write integration tests for SupabaseMileageAdapter that execute against a real Supabase test project. Tests must verify:...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

high medium testing Tier 3 ⚙ backend specialist
Implement Supabase mileage adapter domain-to-JSON mapping
epic-mileage-reimbursement-entry-infrastructure-task-002

Implement the SupabaseMileageAdapter class that translates MileageClaim and OrgConfiguration domain objects to and from ...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

critical medium backend Tier 1 ⚙ backend specialist
Define MileageClaim and OrgConfiguration domain models
epic-mileage-reimbursement-entry-infrastructure-task-005

Define the Dart domain model classes for MileageClaim (distance, route, claim status, expense attachments, submission me...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

critical low backend Tier 0 ⚙ backend specialist
Implement MileageCalculationService with Norwegian rounding
epic-mileage-reimbursement-entry-infrastructure-task-006

Implement the stateless MileageCalculationService that computes reimbursement amounts from distance (km) and organisatio...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

critical low backend Tier 1 ⚙ backend specialist
Implement AutoApprovalEvaluator threshold logic
epic-mileage-reimbursement-entry-infrastructure-task-007

Implement the stateless AutoApprovalEvaluator service that accepts a MileageClaim and OrgConfiguration and returns a det...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

critical low backend Tier 1 ⚙ backend specialist
Define Supabase schema for mileage_claims and org_configuration tables
epic-mileage-reimbursement-entry-infrastructure-task-001

Create the Supabase database schema for the mileage_claims and org_configuration tables, including all required columns,...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

critical medium database Tier 0 🗄 database specialist
Apply and verify RLS policies for mileage adapter
epic-mileage-reimbursement-entry-infrastructure-task-003

Configure and verify Supabase Row Level Security policies on mileage_claims and org_configuration tables. Ensure peer me...

Mileage Reimbursement Entry — Infrastructure & Calculation Foundation · Mileage Reimbursement Entry

critical medium infrastructure Tier 2 🏗 infrastructure specialist
Register OrgRateConfigRepository Riverpod provider
epic-mileage-reimbursement-entry-data-layer-task-003

Expose OrgRateConfigRepository through a Riverpod StreamProvider so the rate config Stream is accessible application-wid...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

high low backend Tier 2 ⚙ backend specialist
Register MileageClaimRepository Riverpod providers
epic-mileage-reimbursement-entry-data-layer-task-006

Create Riverpod providers for MileageClaimRepository, including a family provider for user-scoped claim lists and a coor...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

high low backend Tier 2 ⚙ backend specialist
Implement DistancePrefillService read/write on LocalDistanceCache
epic-mileage-reimbursement-entry-data-layer-task-007

Build DistancePrefillService that wraps LocalDistanceCache with typed read and write operations for the per-user last-us...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

high low backend Tier 0 ⚙ backend specialist
Register DistancePrefillService Riverpod provider
epic-mileage-reimbursement-entry-data-layer-task-008

Expose DistancePrefillService as a Riverpod provider. Wire the auth session stream listener so clearOnLogout is called a...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

high low backend Tier 1 ⚙ backend specialist
Integration verification: Tier 2 components ready for Epic 3 consumption
epic-mileage-reimbursement-entry-data-layer-task-010

Run an integration smoke test confirming all three Tier 2 components are wired correctly end-to-end against a Supabase t...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

high low integration Tier 4 🔗 integration specialist
Write unit tests for all three repository and service components
epic-mileage-reimbursement-entry-data-layer-task-009

Write unit tests covering OrgRateConfigRepository (Stream emission on config change, cache hit/miss, error propagation),...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

high medium testing Tier 3 🧪 testing specialist
Define OrgRateConfig domain model and interfaces
epic-mileage-reimbursement-entry-data-layer-task-001

Create the OrgRateConfig domain model class with fields for per-km rate and auto-approval threshold. Define the abstract...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

critical low backend Tier 0 ⚙ backend specialist
Implement OrgRateConfigRepository with Supabase and Stream cache
epic-mileage-reimbursement-entry-data-layer-task-002

Build the concrete OrgRateConfigRepository that fetches the per-km rate and auto-approval threshold from Supabase via th...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

critical medium backend Tier 1 ⚙ backend specialist
Define MileageClaim domain model and repository interface
epic-mileage-reimbursement-entry-data-layer-task-004

Create the MileageClaim domain entity covering all fields: claim id, user id, route description, distance km, reimbursem...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

critical low backend Tier 0 ⚙ backend specialist
Implement MileageClaimRepository CRUD via Supabase adapter
epic-mileage-reimbursement-entry-data-layer-task-005

Build the concrete MileageClaimRepository using the supabase-mileage-adapter. Implement insert-with-initial-status, fetc...

Mileage Reimbursement Entry — Data Repositories & Distance Prefill · Mileage Reimbursement Entry

critical medium backend Tier 1 ⚙ backend specialist
Implement cache update via DistancePrefillService with graceful degradation
epic-mileage-reimbursement-entry-claim-orchestration-task-006

After successful persistence, invoke DistancePrefillService.updatePrefill() with the submitted route and distance so sub...

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

high low backend Tier 5 ⚙ backend specialist
Write unit tests for all ClaimStatus branches and partial failure paths
epic-mileage-reimbursement-entry-claim-orchestration-task-007

Write unit tests for MileageClaimService covering: (1) silent auto-approval path for below-threshold claims with no addi...

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

high medium testing Tier 6 🧪 testing specialist
Write integration tests for full claim submission lifecycle
epic-mileage-reimbursement-entry-claim-orchestration-task-008

Write integration tests against a real Supabase test database instance covering the full submitClaim() lifecycle: form i...

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

high medium testing Tier 7 🧪 testing specialist
Define MileageClaim domain model and ClaimStatus enum
epic-mileage-reimbursement-entry-claim-orchestration-task-001

Define the MileageClaim domain object with all required fields (distance, route, org config snapshot, expense flags, sub...

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

critical low backend Tier 0 ⚙ backend specialist
Implement MileageClaimService class scaffold and DI wiring
epic-mileage-reimbursement-entry-claim-orchestration-task-002

Create the MileageClaimService class with constructor dependency injection for AutoApprovalEvaluator, MileageClaimReposi...

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

critical low backend Tier 1 ⚙ backend specialist
Implement MileageClaim assembly from form inputs and org config
epic-mileage-reimbursement-entry-claim-orchestration-task-003

Implement the logic within submitClaim() that assembles a MileageClaim domain object by combining raw form inputs (dista...

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

critical medium backend Tier 2 ⚙ backend specialist
Integrate AutoApprovalEvaluator pre-persistence status resolution
epic-mileage-reimbursement-entry-claim-orchestration-task-004

Wire the synchronous AutoApprovalEvaluator call into submitClaim() so that ClaimStatus is resolved before any persistenc...

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

critical medium backend Tier 3 ⚙ backend specialist
Implement persistence via MileageClaimRepository with rollback on failure
epic-mileage-reimbursement-entry-claim-orchestration-task-005

After status is resolved, persist the finalized MileageClaim (with its resolved ClaimStatus) via MileageClaimRepository....

Mileage Reimbursement Entry — Claim Submission Orchestration · Mileage Reimbursement Entry

critical medium backend Tier 4 ⚙ backend specialist
WCAG screen-reader audit for Route Input Fields
epic-mileage-reimbursement-entry-user-interface-task-006

Run flutter_test accessibility audit on RouteInputFieldsWidget to verify that all labels pass WCAG 2.2 AA contrast ratio...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

medium low testing Tier 2 🧪 testing specialist
Scaffold Distance Input Field widget skeleton
epic-mileage-reimbursement-entry-user-interface-task-001

Create the base StatelessWidget class for DistanceInputFieldWidget in Flutter with a numeric TextFormField, a numeric ke...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high low frontend Tier 0 🎨 frontend specialist
Integrate distance prefill cache into Distance Input Field
epic-mileage-reimbursement-entry-user-interface-task-002

Connect DistanceInputFieldWidget to the DistancePrefillService so the field is pre-populated with the cached most-recent...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high low frontend Tier 1 🎨 frontend specialist
Add positive-number validation to Distance Input Field
epic-mileage-reimbursement-entry-user-interface-task-003

Implement a validator function on the TextFormField that rejects empty input, non-numeric input, zero, and negative valu...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high low frontend Tier 2 🎨 frontend specialist
Scaffold Route Input Fields widget with origin field
epic-mileage-reimbursement-entry-user-interface-task-004

Create the RouteInputFieldsWidget StatelessWidget containing a labelled required origin TextFormField. Apply WCAG 2.2 AA...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high low frontend Tier 0 🎨 frontend specialist
Add privacy-aware optional destination field
epic-mileage-reimbursement-entry-user-interface-task-005

Extend RouteInputFieldsWidget with an optional destination TextFormField that displays a privacy notice tooltip (e.g. 'O...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high low frontend Tier 1 🎨 frontend specialist
Scaffold Real-Time Reimbursement Display stateful widget
epic-mileage-reimbursement-entry-user-interface-task-007

Create the RealtimeReimbursementDisplayWidget as a StatefulWidget that accepts a distanceKm double and an orgRateNok dou...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high low frontend Tier 0 🎨 frontend specialist
Wire synchronous MileageCalculationService into display widget
epic-mileage-reimbursement-entry-user-interface-task-008

Update RealtimeReimbursementDisplayWidget to call the synchronous MileageCalculationService.calculate(distanceKm, rateNo...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high low frontend Tier 1 🎨 frontend specialist
Scaffold Mileage Entry Form top-level screen
epic-mileage-reimbursement-entry-user-interface-task-009

Create the MileageEntryForm screen widget as a StatefulWidget with a Form key, a ScrollView wrapper, a pre-filled read-o...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high medium frontend Tier 3 🎨 frontend specialist
Compose sub-widgets and coordinate distance state in form
epic-mileage-reimbursement-entry-user-interface-task-010

Embed DistanceInputFieldWidget, RouteInputFieldsWidget, and RealtimeReimbursementDisplayWidget into MileageEntryForm. Li...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high medium frontend Tier 4 🎨 frontend specialist
Implement inline validation and required-field error messages
epic-mileage-reimbursement-entry-user-interface-task-011

Add form-level validation to MileageEntryForm that blocks submission when distance is missing or invalid, or when the or...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high medium frontend Tier 5 🎨 frontend specialist
Integrate MileageClaimService submission on confirmation
epic-mileage-reimbursement-entry-user-interface-task-012

Wire the confirm button in MileageEntryForm to call MileageClaimService.submitClaim() with the collected form data (date...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high medium frontend Tier 6 🎨 frontend specialist
WCAG 2.2 AA compliance and dynamic type scaling audit
epic-mileage-reimbursement-entry-user-interface-task-013

Run a full WCAG 2.2 AA audit across all four components (MileageEntryForm, DistanceInputField, RouteInputFields, Realtim...

Mileage Reimbursement Entry — User Interface Assembly · Mileage Reimbursement Entry

high medium testing Tier 7 🧪 testing specialist
Document adapter API and migration instructions
epic-multi-chapter-membership-handling-foundation-task-007

Write developer documentation covering the contact_chapters migration steps (how to apply and roll back), the ContactCha...

Multi-Chapter Membership Foundation: Supabase Adapter & Infrastructure · Multi-Chapter Membership Handling

medium low documentation Tier 5 📝 documentor
Add RLS-aware query filtering to adapter
epic-multi-chapter-membership-handling-foundation-task-005

Extend the adapter to include organisation-scoped query filters that complement the RLS policies, providing defence-in-d...

Multi-Chapter Membership Foundation: Supabase Adapter & Infrastructure · Multi-Chapter Membership Handling

high medium backend Tier 3 ⚙ backend specialist
Write unit and integration tests for adapter
epic-multi-chapter-membership-handling-foundation-task-006

Write flutter_test unit tests for the ContactChapter domain mapper covering all field mappings and edge cases. Write int...

Multi-Chapter Membership Foundation: Supabase Adapter & Infrastructure · Multi-Chapter Membership Handling

high medium testing Tier 4 🧪 testing specialist
Define ContactChapter domain model and mapper
epic-multi-chapter-membership-handling-foundation-task-003

Create the ContactChapter Dart domain class with all required fields (contactId, chapterId, createdAt, etc.). Implement ...

Multi-Chapter Membership Foundation: Supabase Adapter & Infrastructure · Multi-Chapter Membership Handling

critical low backend Tier 1 ⚙ backend specialist
Implement SupabaseContactChapterAdapter core CRUD
epic-multi-chapter-membership-handling-foundation-task-004

Build the SupabaseContactChapterAdapter class with methods for inserting a new contact-chapter membership, deleting a me...

Multi-Chapter Membership Foundation: Supabase Adapter & Infrastructure · Multi-Chapter Membership Handling

critical medium backend Tier 2 ⚙ backend specialist
Design contact_chapters database migration
epic-multi-chapter-membership-handling-foundation-task-001

Create a Supabase database migration that introduces the contact_chapters junction table with composite primary key (con...

Multi-Chapter Membership Foundation: Supabase Adapter & Infrastructure · Multi-Chapter Membership Handling

critical medium database Tier 0 🗄 database specialist
Implement RLS policies for contact_chapters
epic-multi-chapter-membership-handling-foundation-task-002

Define and apply Row Level Security policies on the contact_chapters table to enforce multi-organisation data isolation....

Multi-Chapter Membership Foundation: Supabase Adapter & Infrastructure · Multi-Chapter Membership Handling

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Add pagination and date-range filtering to activity query
epic-multi-chapter-membership-handling-data-layer-task-006

Extend the CrossChapterActivityQuery implementation to support cursor-based pagination (limit + offset or keyset) and op...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

high medium backend Tier 3 ⚙ backend specialist
Define DuplicateWarningEvent model and logger interface
epic-multi-chapter-membership-handling-data-layer-task-007

Create the DuplicateWarningEvent domain model capturing: event timestamp, contact_id, chapter_ids involved, activity det...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

high low backend Tier 0 ⚙ backend specialist
Implement Supabase-backed duplicate warning event logger
epic-multi-chapter-membership-handling-data-layer-task-008

Implement the concrete SupabaseDuplicateWarningEventLogger. On logWarningEvent, insert a structured row into the duplica...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

high low infrastructure Tier 1 🏗 infrastructure specialist
Register repositories and query objects via Riverpod providers
epic-multi-chapter-membership-handling-data-layer-task-009

Expose ContactChapterRepository, CrossChapterActivityQuery, and DuplicateWarningEventLogger as Riverpod providers so tha...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

high medium integration Tier 4 ⚙ backend specialist
Unit and integration tests for data layer components
epic-multi-chapter-membership-handling-data-layer-task-010

Write unit tests for ContactChapterRepository (mock Supabase adapter) covering: add affiliation success, add affiliation...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

high medium testing Tier 5 🧪 testing specialist
Define ContactChapter domain models and interfaces
epic-multi-chapter-membership-handling-data-layer-task-001

Create the Dart domain model classes for ContactChapter, ChapterAffiliation, and related value objects. Define the abstr...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

critical medium backend Tier 0 ⚙ backend specialist
Define CrossChapterActivityQuery interface and result model
epic-multi-chapter-membership-handling-data-layer-task-004

Create the abstract CrossChapterActivityQuery interface with a fetchActivitiesForContact(contactId) method signature. De...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

critical medium backend Tier 1 ⚙ backend specialist
Implement ContactChapterRepository CRUD operations
epic-multi-chapter-membership-handling-data-layer-task-002

Implement the concrete Supabase-backed ContactChapterRepository class. Wire up to the supabase-contact-chapter-adapter (...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

critical medium database Tier 1 🗄 database specialist
Add affiliation count enforcement and RLS alignment
epic-multi-chapter-membership-handling-data-layer-task-003

Ensure the 5-affiliation cap is enforced both at the repository layer (Dart) and via a Supabase check constraint or trig...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

critical medium database Tier 2 🗄 database specialist
Implement N+1-safe cross-chapter JOIN query
epic-multi-chapter-membership-handling-data-layer-task-005

Implement the Supabase-backed CrossChapterActivityQuery. Issue a single SQL query that JOINs contact_chapters to the act...

Multi-Chapter Membership Data Layer: Repositories & Audit Logger · Multi-Chapter Membership Handling

critical high database Tier 2 🗄 database specialist
Populate DuplicateActivityWarning with display-ready fields
epic-multi-chapter-membership-handling-core-services-task-007

Enhance the DuplicateActivityWarning object returned by the detection service to include all fields required by the warn...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

high medium backend Tier 2 ⚙ backend specialist
Define domain models and interfaces for membership service
epic-multi-chapter-membership-handling-core-services-task-001

Define the core domain types used by the Multi-Chapter Membership Service: ChapterAffiliation, ChapterMembershipResult, ...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical low backend Tier 0 ⚙ backend specialist
Define domain models for duplicate activity detection
epic-multi-chapter-membership-handling-core-services-task-002

Define the domain types required by the Duplicate Activity Detection Service: DuplicateActivityWarning (with matching ac...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical low backend Tier 0 ⚙ backend specialist
Implement chapter affiliation retrieval and validation logic
epic-multi-chapter-membership-handling-core-services-task-003

Implement the getAffiliationsForContact method in MultiChapterMembershipService. Fetch the current affiliation set from ...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical medium backend Tier 1 ⚙ backend specialist
Implement 5-chapter maximum enforcement in addAffiliation
epic-multi-chapter-membership-handling-core-services-task-004

Implement the addAffiliation method with full business rule enforcement: (1) fetch existing affiliations for the contact...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical medium backend Tier 2 ⚙ backend specialist
Implement chapter affiliation removal with guard checks
epic-multi-chapter-membership-handling-core-services-task-005

Implement the removeAffiliation method: verify the affiliation exists before attempting deletion (throw AffiliationNotFo...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical medium backend Tier 2 ⚙ backend specialist
Implement cross-chapter duplicate activity comparison logic
epic-multi-chapter-membership-handling-core-services-task-006

Implement the core comparison algorithm in DuplicateActivityDetectionService: accept a PendingActivity (contact_id, date...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical high backend Tier 1 ⚙ backend specialist
Unit test MultiChapterMembershipService business rules
epic-multi-chapter-membership-handling-core-services-task-008

Write comprehensive unit tests for MultiChapterMembershipService covering all business rule branches: successful add (fi...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical medium testing Tier 3 🧪 testing specialist
Unit test DuplicateActivityDetectionService comparison engine
epic-multi-chapter-membership-handling-core-services-task-009

Write unit tests for DuplicateActivityDetectionService covering: exact date match returns warning, +1 day match returns ...

Multi-Chapter Membership Core Services: Business Logic & Duplicate Detection · Multi-Chapter Membership Handling

critical medium testing Tier 3 🧪 testing specialist
Build Chapter Affiliations Panel badge list
epic-multi-chapter-membership-handling-ui-task-004

Implement the ChapterAffiliationsPanel Flutter widget that consumes ChapterMembershipCubit via BlocBuilder. Render the c...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high medium frontend Tier 2 🎨 frontend specialist
Add screen reader semantics to Affiliations Panel
epic-multi-chapter-membership-handling-ui-task-005

Annotate all badge chips in ChapterAffiliationsPanel with Flutter Semantics widgets: set meaningful label strings combin...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high medium frontend Tier 3 🎨 frontend specialist
Build Duplicate Activity Warning Dialog modal shell
epic-multi-chapter-membership-handling-ui-task-006

Implement the DuplicateActivityWarningDialog as a fully accessible modal in Flutter. The dialog receives a DuplicateActi...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high medium frontend Tier 0 🎨 frontend specialist
Wire Warning Dialog audit log on coordinator decision
epic-multi-chapter-membership-handling-ui-task-007

Connect DuplicateActivityWarningDialog decision callbacks to the DuplicateWarningEventLogger. When the coordinator taps ...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high low frontend Tier 1 🎨 frontend specialist
Build Chapter Assignment Editor add-chapter flow
epic-multi-chapter-membership-handling-ui-task-008

Implement the add-chapter section of ChapterAssignmentEditor: a searchable chapter list (debounced text field + filtered...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high medium frontend Tier 3 🎨 frontend specialist
Build Chapter Assignment Editor end-affiliation flow
epic-multi-chapter-membership-handling-ui-task-009

Implement the end-affiliation section of ChapterAssignmentEditor: list existing active affiliations from Cubit loaded st...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high medium frontend Tier 3 🎨 frontend specialist
Add WCAG 2.2 AA semantics to Assignment Editor
epic-multi-chapter-membership-handling-ui-task-010

Annotate ChapterAssignmentEditor with full Semantics coverage: label the search field, mark each chapter list item with ...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high medium frontend Tier 4 🎨 frontend specialist
Unit and widget tests for ChapterMembershipCubit
epic-multi-chapter-membership-handling-ui-task-011

Write bloc_test unit tests for ChapterMembershipCubit covering: successful load emits ChapterMembershipLoaded, trackPend...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high medium testing Tier 3 🧪 testing specialist
Widget and accessibility tests for UI components
epic-multi-chapter-membership-handling-ui-task-012

Write flutter_test widget tests for ChapterAffiliationsPanel (badge rendering, screen reader label content), DuplicateAc...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

high high testing Tier 5 🧪 testing specialist
Define ChapterMembershipCubit state classes
epic-multi-chapter-membership-handling-ui-task-001

Define all typed Cubit state classes for the chapter membership lifecycle: ChapterMembershipInitial, ChapterMembershipLo...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

critical low frontend Tier 0 🎨 frontend specialist
Implement Cubit load and pending-change logic
epic-multi-chapter-membership-handling-ui-task-002

Implement the ChapterMembershipCubit class body: inject MultiChapterMembershipService, implement loadAffiliations() to f...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

critical medium frontend Tier 1 🎨 frontend specialist
Implement Cubit commit and rollback flows
epic-multi-chapter-membership-handling-ui-task-003

Implement commitChanges() on the Cubit: emit saving state, delegate to MultiChapterMembershipService, emit success or ty...

Multi-Chapter Membership UI: Cubit, Warning Dialog & Affiliation Screens · Multi-Chapter Membership Handling

critical medium frontend Tier 2 🎨 frontend specialist
Document navigation foundation contracts and integration guide
epic-navigation-and-gesture-accessibility-foundation-task-014

Write developer documentation covering: the router contract (how to declare a new route with PopScope and RouteMetadata)...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

medium low documentation Tier 6 📝 documentor
Implement accessibility context change notifications
epic-navigation-and-gesture-accessibility-foundation-task-012

Add a notifyAccessibilityLayer method to TabStateManager that fires whenever the active tab changes. The notification mu...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

high low backend Tier 3 🎨 frontend specialist
Add accessibility metadata to all route declarations
epic-navigation-and-gesture-accessibility-foundation-task-006

Annotate every route declaration in NavigationRouteConfig with its RouteMetadata: semanticsLabel for screen-reader annou...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

high low infrastructure Tier 2 🏗 infrastructure specialist
Write unit tests for NavigationStateRepository
epic-navigation-and-gesture-accessibility-foundation-task-003

Write unit tests for NavigationStateRepository covering: saving and loading tab index, saving and loading stack snapshot...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

high low testing Tier 2 🧪 testing specialist
Write integration tests for GoRouter route configuration
epic-navigation-and-gesture-accessibility-foundation-task-007

Write integration tests verifying that: all five StatefulShellRoute branches are reachable by name, PopScope is active a...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

high medium testing Tier 3 🧪 testing specialist
Write unit tests for TabStateManager
epic-navigation-and-gesture-accessibility-foundation-task-011

Write unit tests for TabStateManager covering: initial hydration from a pre-populated repository, setActiveTab updates a...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

high medium testing Tier 4 🧪 testing specialist
End-to-end navigation state restore test
epic-navigation-and-gesture-accessibility-foundation-task-013

Write an end-to-end widget test that simulates a full session cycle: navigate to tab 3, push two sub-routes, background ...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

high medium testing Tier 5 🧪 testing specialist
Define navigation state data models and interfaces
epic-navigation-and-gesture-accessibility-foundation-task-001

Define the core Dart data models and interfaces for navigation state persistence: TabIndex value object, NavigationStack...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

critical low backend Tier 0 ⚙ backend specialist
Implement shared_preferences persistence layer
epic-navigation-and-gesture-accessibility-foundation-task-002

Implement the NavigationStateRepository backed by shared_preferences. The repository must support read/write for tab ind...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

critical medium backend Tier 1 ⚙ backend specialist
Implement Riverpod TabStateManager with in-memory snapshots
epic-navigation-and-gesture-accessibility-foundation-task-008

Implement the TabStateManager as a Riverpod StateNotifier (or AsyncNotifier) that maintains in-memory NavigationStackSna...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

critical medium backend Tier 2 ⚙ backend specialist
Implement session lifecycle hooks in TabStateManager
epic-navigation-and-gesture-accessibility-foundation-task-009

Add lifecycle hooks to TabStateManager that respond to app resume, logout, and role-switch events. On resume: reload sna...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

critical medium backend Tier 3 ⚙ backend specialist
Wire TabStateManager into GoRouter shell navigator
epic-navigation-and-gesture-accessibility-foundation-task-010

Connect the TabStateManager Riverpod provider to the StatefulShellRoute navigator index. The shell's onNavigationStateCh...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

critical medium frontend Tier 3 🎨 frontend specialist
Define named route constants and route metadata schema
epic-navigation-and-gesture-accessibility-foundation-task-004

Define all named route constants (route names, paths) for the five tab branches and their sub-routes in a central route-...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement GoRouter StatefulShellRoute configuration
epic-navigation-and-gesture-accessibility-foundation-task-005

Implement the central NavigationRouteConfig using GoRouter with StatefulShellRoute for the five tab branches (Home, Cont...

Navigation Foundation: Route Config, State Persistence & Tab Management · Navigation & Gesture Accessibility

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Build Navigation Accessibility Service
epic-navigation-and-gesture-accessibility-ui-components-task-011

Implement the NavigationAccessibilityService as a singleton service that listens to GoRouter route changes and fires Sem...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high medium backend Tier 2 ⚙ backend specialist
Set up Navigation State Repository
epic-navigation-and-gesture-accessibility-ui-components-task-001

Implement the NavigationStateRepository using SQLite/Hive local storage to persist selected tab index, navigation histor...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high low database Tier 0 ⚙ backend specialist
Implement Active State Indicators on Bottom Nav
epic-navigation-and-gesture-accessibility-ui-components-task-013

Add accessible active-state visual indicators to each bottom nav tab: filled icon, label underline, and color change on ...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high low frontend Tier 4 🎨 frontend specialist
Add Notification Badge to Bottom Nav Bar
epic-navigation-and-gesture-accessibility-ui-components-task-014

Implement an accessible notification count badge on the Notifications tab of AccessibleBottomNavBar. The badge count mus...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high low frontend Tier 5 🎨 frontend specialist
Scaffold Accessibility Audit Runner
epic-navigation-and-gesture-accessibility-ui-components-task-003

Create the AccessibilityAuditRunner infrastructure component that wraps flutter_test accessibility matchers and the WCAG...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high medium infrastructure Tier 0 🧪 testing specialist
Write Widget Tests for Modal Close Button
epic-navigation-and-gesture-accessibility-ui-components-task-015

Write flutter_test widget tests for ModalCloseButton covering: button renders in correct position, tap triggers Navigato...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high low testing Tier 2 🧪 testing specialist
Write Widget Tests for Persistent Back Button
epic-navigation-and-gesture-accessibility-ui-components-task-016

Write flutter_test widget tests for PersistentBackButton covering: button visible on non-root routes, hidden on root rou...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high low testing Tier 4 🧪 testing specialist
Write Widget Tests for Vertical Scroll Container
epic-navigation-and-gesture-accessibility-ui-components-task-017

Write flutter_test widget tests for VerticalScrollContainer covering: horizontal scroll gestures do not trigger navigati...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

high low testing Tier 2 🧪 testing specialist
Implement Tab State Manager Service
epic-navigation-and-gesture-accessibility-ui-components-task-004

Build the TabStateManager as a Riverpod StateNotifier that holds the active tab index, exposes selectTab() and resetTab(...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical medium backend Tier 2 🎨 frontend specialist
Build Modal Close Button Widget
epic-navigation-and-gesture-accessibility-ui-components-task-005

Implement the ModalCloseButton Flutter widget as a reusable StatelessWidget injected into every ModalBottomSheet, AlertD...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical low frontend Tier 0 🎨 frontend specialist
Add Semantics and Dismissal Announcement to Modal Close Button
epic-navigation-and-gesture-accessibility-ui-components-task-006

Enhance the ModalCloseButton with full VoiceOver/TalkBack semantics: set Semantics label to 'Close', hint to 'Activates ...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical low frontend Tier 1 🎨 frontend specialist
Build Persistent Back Button Widget
epic-navigation-and-gesture-accessibility-ui-components-task-007

Implement the PersistentBackButton as a Flutter widget that appears on every non-root screen. It must call context.pop()...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical low frontend Tier 2 🎨 frontend specialist
Wire Persistent Back Button into AppBar/Page Header
epic-navigation-and-gesture-accessibility-ui-components-task-008

Integrate PersistentBackButton into the shared page header / AppBar wrapper used across all non-root screens. Ensure it ...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical low frontend Tier 3 🎨 frontend specialist
Build Vertical Scroll Container Widget
epic-navigation-and-gesture-accessibility-ui-components-task-009

Implement the VerticalScrollContainer as a Flutter widget wrapper that constrains physics to ClampingScrollPhysics on th...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical low frontend Tier 0 🎨 frontend specialist
Add Scroll Semantics to Vertical Scroll Container
epic-navigation-and-gesture-accessibility-ui-components-task-010

Enhance VerticalScrollContainer with Semantics(container: true) and explicit scrollSemanticDescription for screen reader...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical low frontend Tier 1 🎨 frontend specialist
Build Accessible Bottom Navigation Bar Widget
epic-navigation-and-gesture-accessibility-ui-components-task-012

Implement the AccessibleBottomNavBar as a Flutter StatefulWidget connected to TabStateManager via Riverpod. Render five ...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical medium frontend Tier 3 🎨 frontend specialist
Configure Navigation Route Structure
epic-navigation-and-gesture-accessibility-ui-components-task-002

Define the GoRouter StatefulShellRoute configuration with five named branches (Home, Contacts, Add, Work, Notifications)...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical medium infrastructure Tier 1 🎨 frontend specialist
Integration Test: Full Bottom Nav Accessibility
epic-navigation-and-gesture-accessibility-ui-components-task-018

Write integration tests for AccessibleBottomNavBar covering: all five tabs are reachable without swipe gestures, tab sel...

Accessible Navigation UI Widgets: Bottom Nav, Back Button, Modal Close & Scroll Container · Navigation & Gesture Accessibility

critical medium testing Tier 6 🧪 testing specialist
Implement horizontal swipe policy enforcer
epic-navigation-and-gesture-accessibility-service-and-audit-task-005

Implement the no-horizontal-swipe policy audit in NavigationAccessibilityService by inspecting route configurations for ...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

high medium backend Tier 4 ⚙ backend specialist
Implement debug console warning surface
epic-navigation-and-gesture-accessibility-service-and-audit-task-006

Implement the debug-mode warning dispatcher in NavigationAccessibilityService that surfaces all collected AccessibilityV...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

high low backend Tier 5 ⚙ backend specialist
Set up audit runner test harness scaffold
epic-navigation-and-gesture-accessibility-service-and-audit-task-007

Scaffold the AccessibilityAuditRunner as a Flutter integration test helper class. Set up the test entry point, import fl...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

high low testing Tier 1 🧪 testing specialist
Implement Switch Access traversal order simulation
epic-navigation-and-gesture-accessibility-service-and-audit-task-008

Implement the Switch Access traversal simulation in AccessibilityAuditRunner using Flutter's SemanticsController to enum...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

high high testing Tier 2 🧪 testing specialist
Implement Full Keyboard Access navigation test
epic-navigation-and-gesture-accessibility-service-and-audit-task-009

Implement Full Keyboard Access navigation simulation in AccessibilityAuditRunner using Flutter integration test key inje...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

high high testing Tier 3 🧪 testing specialist
Define navigation route contract interfaces
epic-navigation-and-gesture-accessibility-service-and-audit-task-001

Define the core Dart interfaces and data models that represent navigation route contracts: RouteAccessibilityContract, M...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

critical low backend Tier 0 ⚙ backend specialist
Implement navigation route configuration reader
epic-navigation-and-gesture-accessibility-service-and-audit-task-002

Implement the NavigationRouteConfig reader that introspects the GoRouter route tree, extracts all declared routes with t...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

critical medium backend Tier 1 ⚙ backend specialist
Build modal close action verifier
epic-navigation-and-gesture-accessibility-service-and-audit-task-003

Implement the modal route verification logic inside NavigationAccessibilityService that iterates all modal routes from N...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

critical medium backend Tier 2 ⚙ backend specialist
Build back control verifier for non-root routes
epic-navigation-and-gesture-accessibility-service-and-audit-task-004

Implement the back navigation verification logic that confirms every non-root route exposes a PersistentBackButton or eq...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

critical medium backend Tier 3 ⚙ backend specialist
Integrate audit runner into CI pipeline gate
epic-navigation-and-gesture-accessibility-service-and-audit-task-012

Configure the CI pipeline (GitHub Actions or equivalent) to run the AccessibilityAuditRunner integration test as a requi...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

critical medium deployment Tier 6 🚀 devops specialist
Generate machine-readable violation report
epic-navigation-and-gesture-accessibility-service-and-audit-task-011

Implement the violation report serializer in AccessibilityAuditRunner that aggregates all violation records (traversal, ...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

critical medium infrastructure Tier 4 🏗 infrastructure specialist
Implement 44dp touch target assertion
epic-navigation-and-gesture-accessibility-service-and-audit-task-010

Implement the touch target size assertion in AccessibilityAuditRunner that walks the semantics tree for all interactive ...

Navigation Accessibility Service, Compliance Enforcement & CI Audit Pipeline · Navigation & Gesture Accessibility

critical medium testing Tier 2 🧪 testing specialist
Add fallback UI feedback for URL launch failures
epic-no-access-screen-foundation-task-006

Extend UrlLauncherUtil so that when a URL cannot be opened (unsupported scheme, no handler installed, platform error) it...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

high low frontend Tier 1 🎨 frontend specialist
Unit test NoAccessConfigRepository
epic-no-access-screen-foundation-task-004

Write unit tests for NoAccessConfigRepository covering: successful remote config fetch, cache hit preventing second netw...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

high low testing Tier 2 🧪 testing specialist
Unit test UrlLauncherUtil
epic-no-access-screen-foundation-task-007

Write unit tests for UrlLauncherUtil covering: successful URL launch, unsupported URL scheme returning error result, pla...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

high low testing Tier 2 🧪 testing specialist
Integration smoke test: config + URL launch pipeline
epic-no-access-screen-foundation-task-008

Write an integration test that wires NoAccessConfigRepository and UrlLauncherUtil together: fetch the admin portal URL f...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

high low testing Tier 3 🧪 testing specialist
Define NoAccessConfig model and constants
epic-no-access-screen-foundation-task-001

Create the NoAccessConfig data model and local constants file that defines the fallback admin portal URL and the default...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

critical low backend Tier 0 ⚙ backend specialist
Implement NoAccessConfigRepository with Supabase remote config
epic-no-access-screen-foundation-task-002

Build the NoAccessConfigRepository class that fetches the admin portal URL and blocked-role list from Supabase remote co...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

critical low backend Tier 1 ⚙ backend specialist
Expose repository via Riverpod provider
epic-no-access-screen-foundation-task-003

Register NoAccessConfigRepository as a Riverpod provider so downstream components (route guard, access denial service) c...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

critical low infrastructure Tier 2 🏗 infrastructure specialist
Implement UrlLauncherUtil wrapper
epic-no-access-screen-foundation-task-005

Create the UrlLauncherUtil class as a thin, platform-safe wrapper around Flutter's url_launcher package. Expose a single...

No-Access Screen Foundation: Configuration & URL Infrastructure · No-Access Screen for Restricted Roles

critical low infrastructure Tier 0 ⚙ backend specialist
Register AccessDenialService in Riverpod provider graph
epic-no-access-screen-access-control-task-004

Create a Riverpod provider for AccessDenialService and expose both the isRoleBlocked stream as a StreamProvider<bool> an...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

high low backend Tier 3 ⚙ backend specialist
Define allowed-routes allowlist for blocked-role navigation
epic-no-access-screen-access-control-task-006

Create a constant or configuration set of route paths that remain accessible to blocked roles (e.g., /logout, /auth/logi...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

high low frontend Tier 5 🎨 frontend specialist
Wire admin portal URL from config repository into service
epic-no-access-screen-access-control-task-003

Connect AccessDenialService to the no-access config repository (052-no-access-config-repository) so that getAdminPortalU...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

high low integration Tier 2 🔗 integration specialist
Write unit tests for AccessDenialService role-block logic
epic-no-access-screen-access-control-task-008

Write unit tests covering: global admin role returns isBlocked=true, peer mentor role returns isBlocked=false, coordinat...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

high low testing Tier 4 🧪 testing specialist
Write unit tests for NoAccessRouteGuard redirect logic
epic-no-access-screen-access-control-task-009

Write unit tests for the route guard covering: blocked role navigating to /home is redirected to /no-access, blocked rol...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

high low testing Tier 7 🧪 testing specialist
Integration test: end-to-end blocked-role navigation enforcement
epic-no-access-screen-access-control-task-010

Write an integration test simulating a global admin logging in and attempting to navigate to peer-mentor screens. Verify...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

high low testing Tier 8 🧪 testing specialist
Define AccessDenialService interface and role-block contract
epic-no-access-screen-access-control-task-001

Create the Dart abstract interface for AccessDenialService defining the isRoleBlocked stream/notifier, the getAdminPorta...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

critical low backend Tier 0 ⚙ backend specialist
Implement AccessDenialService with RBAC integration
epic-no-access-screen-access-control-task-002

Implement the concrete AccessDenialService class that reads the current user role from the role-based access control lay...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

critical low backend Tier 1 ⚙ backend specialist
Implement NoAccessRouteGuard GoRouter redirect callback
epic-no-access-screen-access-control-task-005

Implement the NoAccessRouteGuard as a GoRouter redirect callback. The guard must intercept every navigation attempt for ...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

critical low frontend Tier 4 🎨 frontend specialist
Register route guard in GoRouter configuration
epic-no-access-screen-access-control-task-007

Register the NoAccessRouteGuard redirect callback in the app's GoRouter configuration, ensuring it runs after authentica...

No-Access Screen Access Control: Route Guard & Denial Service · No-Access Screen for Restricted Roles

critical low frontend Tier 6 🎨 frontend specialist
Render organisation logo from design tokens
epic-no-access-screen-ui-task-002

Integrate the organisation logo display into the no-access-screen-widget using the design token system. Source the logo ...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

high low frontend Tier 1 🎨 frontend specialist
Implement localised access-denial message
epic-no-access-screen-ui-task-003

Add the localised human-readable explanation string to the widget body explaining why access is denied (global admins mu...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

high low frontend Tier 1 🎨 frontend specialist
Add tappable admin portal link with url_launcher
epic-no-access-screen-ui-task-004

Implement a tappable admin portal link widget inside the no-access-screen-widget that opens the admin portal URL in the ...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

high low frontend Tier 1 🎨 frontend specialist
Implement prominent logout button
epic-no-access-screen-ui-task-005

Add a prominent logout button to the no-access-screen-widget. The button must meet the 44×44 dp minimum touch target, us...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

high low frontend Tier 1 🎨 frontend specialist
Implement dynamic text scaling layout
epic-no-access-screen-ui-task-010

Test and fix the no-access-screen-widget layout at system font scale factors 1.0, 1.5, 2.0, and 3.2 (accessibility large...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

high low frontend Tier 2 🎨 frontend specialist
Write widget and accessibility unit tests
epic-no-access-screen-ui-task-011

Write flutter_test widget tests for the no-access-screen-widget covering: (1) logo renders, (2) denial message appears, ...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

high low testing Tier 4 🧪 testing specialist
Manual screen-reader and golden-file QA pass
epic-no-access-screen-ui-task-012

Perform a manual QA pass of the no-access-screen-widget with TalkBack (Android) and VoiceOver (iOS): confirm the live re...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

high low testing Tier 5 🧪 testing specialist
Scaffold no-access-screen-widget structure
epic-no-access-screen-ui-task-001

Create the initial StatelessWidget/StatefulWidget scaffold for the no-access-screen-widget as a full-screen terminal rou...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

critical low frontend Tier 0 🎨 frontend specialist
Apply WCAG 2.2 AA semantics tree and heading
epic-no-access-screen-ui-task-006

Wrap the denial headline text in a Semantics widget with header:true so screen readers announce it as a heading. Audit t...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

critical low frontend Tier 2 🎨 frontend specialist
Implement live region announcement on screen entry
epic-no-access-screen-ui-task-007

Add a live region that fires when the no-access screen is first rendered so screen-reader users receive the access denia...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

critical low frontend Tier 3 🎨 frontend specialist
Validate 4.5:1 contrast ratios for all text
epic-no-access-screen-ui-task-008

Audit every text element on the no-access-screen-widget against the WCAG 2.2 AA 4.5:1 contrast ratio requirement. Use th...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

critical low frontend Tier 2 🎨 frontend specialist
Enforce 44×44 dp touch targets on all interactive elements
epic-no-access-screen-ui-task-009

Wrap every interactive element (portal link, logout button) in a minimum 44×44 dp touch target using accessible-touch-ta...

No-Access Screen UI: Widget Implementation & Accessibility · No-Access Screen for Restricted Roles

critical low frontend Tier 2 🎨 frontend specialist
Document data layer contracts and flag key registry
epic-organization-feature-flags-foundation-task-009

Produce developer documentation covering the organization_configs table schema and RLS policy rationale, the full list o...

Feature Flag Data Foundation · Organization-scoped Feature Flags

medium low documentation Tier 5 📝 documentor
Integrate cache layer into repository read path
epic-organization-feature-flags-foundation-task-007

Wire the FeatureFlagCache into the FeatureFlagRepository so that all read operations check the cache first and only hit ...

Feature Flag Data Foundation · Organization-scoped Feature Flags

high medium integration Tier 3 🔗 integration specialist
Write unit tests for evaluator and repository
epic-organization-feature-flags-foundation-task-008

Write comprehensive unit tests covering: RolloutEvaluator version comparison edge cases (equal, below, above minAppVersi...

Feature Flag Data Foundation · Organization-scoped Feature Flags

high medium testing Tier 4 🧪 testing specialist
Implement feature flag repository with Supabase data access
epic-organization-feature-flags-foundation-task-004

Build the FeatureFlagRepository class that reads and persists feature flag records from the organization_configs Supabas...

Feature Flag Data Foundation · Organization-scoped Feature Flags

critical medium backend Tier 2 ⚙ backend specialist
Build in-memory and persistent local cache with TTL
epic-organization-feature-flags-foundation-task-005

Implement the FeatureFlagCache component providing a two-layer cache: a short-lived in-memory Map for the current app se...

Feature Flag Data Foundation · Organization-scoped Feature Flags

critical medium backend Tier 1 ⚙ backend specialist
Implement pure rollout condition evaluator
epic-organization-feature-flags-foundation-task-006

Build the RolloutEvaluator service that determines flag eligibility for a given organization and app context. Implement ...

Feature Flag Data Foundation · Organization-scoped Feature Flags

critical low backend Tier 1 ⚙ backend specialist
Create Supabase organization_configs table schema
epic-organization-feature-flags-foundation-task-001

Design and implement the Supabase database schema for the organization_configs table, including columns for organization...

Feature Flag Data Foundation · Organization-scoped Feature Flags

critical medium database Tier 0 🗄 database specialist
Implement RLS policies for organization_configs
epic-organization-feature-flags-foundation-task-002

Write and apply Supabase Row Level Security policies on the organization_configs table to ensure each authenticated user...

Feature Flag Data Foundation · Organization-scoped Feature Flags

critical medium database Tier 1 🗄 database specialist
Define typed feature flag key constants file
epic-organization-feature-flags-foundation-task-003

Create the canonical Dart constants file that enumerates every feature flag key as a typed string constant (e.g., kFlagT...

Feature Flag Data Foundation · Organization-scoped Feature Flags

critical low infrastructure Tier 0 ⚙ backend specialist
Implement reactive flag change propagation
epic-organization-feature-flags-runtime-task-006

Ensure that when an admin toggles a feature flag (e.g., via the admin screen), the FeatureFlagProvider detects the state...

Feature Flag Runtime Services · Organization-scoped Feature Flags

high medium frontend Tier 5 🎨 frontend specialist
Write unit and integration tests for runtime services
epic-organization-feature-flags-runtime-task-007

Write unit tests for the FeatureFlagInitializer (network success path, network failure fallback to cache, empty cache co...

Feature Flag Runtime Services · Organization-scoped Feature Flags

high medium testing Tier 6 🧪 testing specialist
Implement FeatureFlagProvider Riverpod AsyncNotifier
epic-organization-feature-flags-runtime-task-004

Create the FeatureFlagProvider as a Riverpod AsyncNotifier that resolves the active organization context, delegates flag...

Feature Flag Runtime Services · Organization-scoped Feature Flags

critical medium frontend Tier 3 🎨 frontend specialist
Implement synchronous isEnabled API on provider
epic-organization-feature-flags-runtime-task-005

Expose a synchronous isEnabled(flagKey) method on the FeatureFlagProvider that performs O(1) lookup against the resolved...

Feature Flag Runtime Services · Organization-scoped Feature Flags

critical medium frontend Tier 4 🎨 frontend specialist
Implement FeatureFlagInitializer bootstrap service
epic-organization-feature-flags-runtime-task-001

Build the FeatureFlagInitializer service that pre-loads the full flag configuration for the authenticated organization i...

Feature Flag Runtime Services · Organization-scoped Feature Flags

critical low infrastructure Tier 0 ⚙ backend specialist
Add network failure fallback and cache recovery
epic-organization-feature-flags-runtime-task-002

Extend the FeatureFlagInitializer with a robust fallback mechanism: when the remote fetch fails (network error, timeout,...

Feature Flag Runtime Services · Organization-scoped Feature Flags

critical low infrastructure Tier 1 ⚙ backend specialist
Integrate initializer into organization selection flow
epic-organization-feature-flags-runtime-task-003

Wire the FeatureFlagInitializer into the post-organization-selection lifecycle so it executes before the main navigation...

Feature Flag Runtime Services · Organization-scoped Feature Flags

critical low integration Tier 2 ⚡ fullstack developer
Build paginated audit log view for flag changes
epic-organization-feature-flags-ui-task-005

Implement the read-only paginated audit log section within the admin screen that displays all flag change events. Each l...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

medium medium frontend Tier 2 🎨 frontend specialist
Implement stale-cache indicator and manual refresh
epic-organization-feature-flags-ui-task-006

Add a stale-cache indicator banner to the admin screen that appears when the last sync timestamp from FeatureFlagCache e...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

medium low frontend Tier 2 🎨 frontend specialist
Build phase-based rollout condition configuration UI
epic-organization-feature-flags-ui-task-007

Implement the per-flag rollout condition configuration panel in the admin screen. Allow admins to set minimum app versio...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

medium medium frontend Tier 3 🎨 frontend specialist
Add FeatureGate null-safety and edge case handling
epic-organization-feature-flags-ui-task-002

Harden the FeatureGate widget against edge cases: handle unknown flag keys gracefully (default to hidden), ensure fallba...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

high low frontend Tier 1 🎨 frontend specialist
Build feature flag admin screen scaffold
epic-organization-feature-flags-ui-task-003

Create the Feature Flag Admin Screen scaffold with role-based route guard restricting access to organization admins only...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

high medium frontend Tier 1 🎨 frontend specialist
Implement two-step flag toggle with confirmation dialog
epic-organization-feature-flags-ui-task-004

Build the deliberate two-step toggle flow for the admin screen: first tap stages the toggle, second tap opens a confirma...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

high medium frontend Tier 2 🎨 frontend specialist
Write widget tests for FeatureGate widget
epic-organization-feature-flags-ui-task-008

Write comprehensive Flutter widget tests for the FeatureGate widget covering: renders child when flag is enabled, render...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

high low testing Tier 2 🧪 testing specialist
Write integration tests for admin screen flows
epic-organization-feature-flags-ui-task-009

Write Flutter integration tests for the Feature Flag Admin Screen covering: role guard blocks non-admin users, flag list...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

high medium testing Tier 4 🧪 testing specialist
Implement FeatureGate widget core logic
epic-organization-feature-flags-ui-task-001

Create the FeatureGate Flutter widget that conditionally renders child widgets based on a FeatureFlagKeys enum value. Im...

Feature Gate Widget and Admin Interface · Organization-scoped Feature Flags

critical low frontend Tier 0 🎨 frontend specialist
Widget-test OnboardingProgressIndicator phase adaptation and semantics
epic-organization-selection-and-onboarding-foundation-task-013

Write Flutter widget tests for OnboardingProgressIndicator covering: correct step count and labels for email/password ph...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

medium low testing Tier 1 🧪 testing specialist
Implement OrgBrandingCache with memory and disk layers
epic-organization-selection-and-onboarding-foundation-task-006

Build the OrgBrandingCache that fetches organization logo URLs and design-token overrides (primary color, font family, b...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

high low backend Tier 2 ⚙ backend specialist
Build OrgCardWidget reusable card atom
epic-organization-selection-and-onboarding-foundation-task-010

Implement the OrgCardWidget Flutter widget used as the atomic card unit on the organization selection screen and the mul...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

high low frontend Tier 3 🎨 frontend specialist
Build OnboardingProgressIndicator adaptive step-dot widget
epic-organization-selection-and-onboarding-foundation-task-012

Implement the OnboardingProgressIndicator widget that renders a row of labeled step dots adapting to the active auth pha...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

high low frontend Tier 0 🎨 frontend specialist
Implement FeatureFlagProvider with per-org toggle fetching and caching
epic-organization-selection-and-onboarding-foundation-task-008

Build the FeatureFlagProvider Riverpod provider that fetches per-organization feature flags from Supabase (table: org_fe...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

high low infrastructure Tier 3 ⚙ backend specialist
Unit-test OrgBrandingCache cache invalidation and fallback
epic-organization-selection-and-onboarding-foundation-task-007

Write unit tests for OrgBrandingCache covering: cold-start fetch from Supabase, second-call memory-cache hit (no network...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

high low testing Tier 3 🧪 testing specialist
Unit-test FeatureFlagProvider toggle logic and TTL expiry
epic-organization-selection-and-onboarding-foundation-task-009

Write unit tests for FeatureFlagProvider covering: flag enabled/disabled states, TTL-based cache expiry triggering a re-...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

high low testing Tier 4 🧪 testing specialist
Widget-test OrgCardWidget rendering and accessibility
epic-organization-selection-and-onboarding-foundation-task-011

Write Flutter widget tests for OrgCardWidget covering: logo display with placeholder fallback, name truncation for long ...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

high low testing Tier 4 🧪 testing specialist
Implement SupabaseRLSTenantConfigurator service
epic-organization-selection-and-onboarding-foundation-task-004

Build the SupabaseRLSTenantConfigurator that sets the Supabase custom claim app.current_org_id immediately after an orga...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

critical medium backend Tier 2 ⚙ backend specialist
Define SecureStorageAdapter interface and platform contracts
epic-organization-selection-and-onboarding-foundation-task-001

Design and implement the typed SecureStorageAdapter abstract interface that wraps iOS Keychain and Android Keystore APIs...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement SecureStorageAdapter for iOS Keychain and Android Keystore
epic-organization-selection-and-onboarding-foundation-task-002

Implement the concrete SecureStorageAdapter using flutter_secure_storage under the hood, ensuring AES-256 encryption on ...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

critical low infrastructure Tier 1 🏗 infrastructure specialist
Unit-test SecureStorageAdapter with mock platform
epic-organization-selection-and-onboarding-foundation-task-003

Write unit tests for the SecureStorageAdapter using a mock/fake implementation. Cover write-then-read round-trips, overw...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

critical low testing Tier 2 🧪 testing specialist
Write integration tests for RLS tenant scope configurator
epic-organization-selection-and-onboarding-foundation-task-005

Write integration tests verifying that after SupabaseRLSTenantConfigurator is invoked, subsequent Supabase queries are s...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

critical medium testing Tier 3 🧪 testing specialist
Integration smoke test: full foundation layer wired together
epic-organization-selection-and-onboarding-foundation-task-014

Write an integration test that exercises the full foundation layer as a system: (1) SecureStorageAdapter writes and read...

Foundation Infrastructure & Atomic UI Components · Organization Selection & Onboarding

critical medium testing Tier 5 🧪 testing specialist
Expose reactive Stream for organization list updates
epic-organization-selection-and-onboarding-data-layer-task-004

Wire up a Supabase Realtime subscription within OrganizationRepository to emit updated organization lists whenever the u...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

high medium backend Tier 3 ⚙ backend specialist
Write unit and integration tests for OrganizationRepository
epic-organization-selection-and-onboarding-data-layer-task-009

Write comprehensive tests for OrganizationRepository covering: unit tests for domain model mapping from raw Supabase JSO...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

high medium testing Tier 4 🧪 testing specialist
Write unit and integration tests for TenantSessionStore dual persistence
epic-organization-selection-and-onboarding-data-layer-task-010

Write comprehensive tests for TenantSessionStore covering: unit tests for SecureStorage serialization/deserialization, n...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

high medium testing Tier 5 🧪 testing specialist
Define Organization domain model and repository interface
epic-organization-selection-and-onboarding-data-layer-task-001

Create the typed Organization domain model class mapping all Supabase row fields to strongly-typed Dart properties. Defi...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

critical low backend Tier 0 ⚙ backend specialist
Add session-scoped in-memory cache to OrganizationRepository
epic-organization-selection-and-onboarding-data-layer-task-003

Implement a session-scoped in-memory cache within OrganizationRepository that stores the fetched organization list after...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

critical medium backend Tier 2 ⚙ backend specialist
Define TenantSessionStore interface and session data models
epic-organization-selection-and-onboarding-data-layer-task-005

Create the TenantSessionData model encapsulating org_id, organization display name, user role within the org, and select...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

critical low backend Tier 1 ⚙ backend specialist
Implement SecureStorage write and read path in TenantSessionStore
epic-organization-selection-and-onboarding-data-layer-task-006

Implement the SecureStorageAdapter integration within TenantSessionStore for offline-capable session persistence. On per...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

critical medium backend Tier 2 ⚙ backend specialist
Implement app startup session restoration read path
epic-organization-selection-and-onboarding-data-layer-task-008

Implement the startup session restoration flow in TenantSessionStore. On app launch, after authentication state is confi...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

critical medium backend Tier 4 ⚡ fullstack developer
Implement Supabase query layer for organization fetching
epic-organization-selection-and-onboarding-data-layer-task-002

Implement the concrete OrganizationRepository backed by the Supabase client. Write the query to fetch all organizations ...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

critical medium integration Tier 1 🔗 integration specialist
Implement Supabase session custom claim write for RLS enforcement
epic-organization-selection-and-onboarding-data-layer-task-007

Implement the Supabase session claim write path in TenantSessionStore. After persisting to SecureStorage, call the Supab...

Data Access & Tenant Session Persistence · Organization Selection & Onboarding

critical high integration Tier 3 🔗 integration specialist
Add session-level membership cache to MultiOrgMembershipResolver
epic-organization-selection-and-onboarding-core-logic-task-003

Add an in-memory session cache layer to MultiOrgMembershipResolver so that repeated navigation events do not re-query Su...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

high low backend Tier 2 ⚙ backend specialist
Handle session restore in OrgRouteGuard on app cold start
epic-organization-selection-and-onboarding-core-logic-task-013

Extend OrgRouteGuard to handle the session restore scenario on cold start: if TenantSessionStore has a persisted org_id,...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

high medium backend Tier 5 ⚙ backend specialist
Integration test: full org selection flow end-to-end
epic-organization-selection-and-onboarding-core-logic-task-014

Write integration tests covering the complete flow from authentication through org selection to app-ready state. Test ca...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

high high testing Tier 6 🧪 testing specialist
Unit test MultiOrgMembershipResolver cache and query logic
epic-organization-selection-and-onboarding-core-logic-task-015

Write unit tests for MultiOrgMembershipResolver covering: correct Supabase query construction for cross-schema membershi...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

high medium testing Tier 3 🧪 testing specialist
Unit test TenantContextService orchestration sequence
epic-organization-selection-and-onboarding-core-logic-task-016

Write unit tests for TenantContextService verifying the orchestration sequence is atomic and ordered: (1) labels load be...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

high medium testing Tier 4 🧪 testing specialist
Define MultiOrgMembershipResolver Dart interface and data models
epic-organization-selection-and-onboarding-core-logic-task-001

Define the abstract Dart interface for MultiOrgMembershipResolver including the OrgMembership model, MembershipResolutio...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical low backend Tier 0 ⚙ backend specialist
Implement Supabase membership query in MultiOrgMembershipResolver
epic-organization-selection-and-onboarding-core-logic-task-002

Implement the concrete MultiOrgMembershipResolver that queries Supabase across all tenant schemas to retrieve the authen...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical medium backend Tier 1 ⚙ backend specialist
Define TenantContextService interface and tenant state model
epic-organization-selection-and-onboarding-core-logic-task-004

Define the abstract TenantContextService interface, TenantContext state model (org_id, branding tokens, feature flags, t...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical low backend Tier 0 ⚙ backend specialist
Implement terminology label loading in TenantContextService
epic-organization-selection-and-onboarding-core-logic-task-005

Implement the terminology label loading step within TenantContextService. After org selection is confirmed, query the or...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical medium backend Tier 1 ⚙ backend specialist
Implement branding token injection in TenantContextService
epic-organization-selection-and-onboarding-core-logic-task-006

Implement the branding token injection step: after terminology labels are loaded, fetch the org's branding configuration...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical medium backend Tier 2 ⚙ backend specialist
Implement feature flag application and TenantSessionStore persistence
epic-organization-selection-and-onboarding-core-logic-task-007

Implement the final two orchestration steps in TenantContextService: apply the org's feature flags via FeatureFlagProvid...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical medium backend Tier 3 ⚙ backend specialist
Define OrgSelectionService interface and error model
epic-organization-selection-and-onboarding-core-logic-task-008

Define the abstract OrgSelectionService interface including the selectOrg(orgId) method signature, OrgSelectionResult (s...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical low backend Tier 1 ⚙ backend specialist
Implement org validation and shallow profile fetch in OrgSelectionService
epic-organization-selection-and-onboarding-core-logic-task-009

Implement the concrete OrgSelectionService: call OrganizationRepository to fetch and validate the chosen org, perform a ...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical medium backend Tier 2 ⚙ backend specialist
Define OrgRouteGuard and go_router redirect contract
epic-organization-selection-and-onboarding-core-logic-task-011

Define the OrgRouteGuard as a go_router redirect callback. Specify the two-axis evaluation: (1) authentication state fro...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical low backend Tier 1 ⚙ backend specialist
Implement OrgRouteGuard redirect logic with TenantContextService
epic-organization-selection-and-onboarding-core-logic-task-012

Implement the OrgRouteGuard redirect function integrated into go_router's redirect callback. The guard reads the Supabas...

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical medium backend Tier 4 ⚙ backend specialist
Wire TenantContextService seeding into OrgSelectionService
epic-organization-selection-and-onboarding-core-logic-task-010

Integrate the TenantContextService.load() orchestration call into OrgSelectionService after a successful org validation....

Core Business Logic, Tenant Orchestration & Navigation Guards · Organization Selection & Onboarding

critical medium integration Tier 4 🔗 integration specialist
Implement localized error state for inactive or unreachable org
epic-organization-selection-and-onboarding-ui-task-004

When OrgSelectionService returns an error (inactive org, network failure, or unreachable tenant), show a localized inlin...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

high low frontend Tier 3 🎨 frontend specialist
Embed OnboardingProgressIndicator for new-user orientation
epic-organization-selection-and-onboarding-ui-task-005

Integrate the OnboardingProgressIndicator widget into OrgSelectionScreen at the top of the content area. The indicator m...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

high low frontend Tier 1 🎨 frontend specialist
Scaffold MultiOrgContextSwitcher and fetch user org memberships
epic-organization-selection-and-onboarding-ui-task-006

Create the MultiOrgContextSwitcher widget. On open, call MultiOrgMembershipResolver to retrieve all organizations the au...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

high medium frontend Tier 3 🎨 frontend specialist
Implement confirmation dialog before tenant context swap
epic-organization-selection-and-onboarding-ui-task-007

When a user taps a non-active org in MultiOrgContextSwitcher, show a modal confirmation dialog before executing the tena...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

high medium frontend Tier 4 🎨 frontend specialist
Execute clean tenant context swap via TenantContextService
epic-organization-selection-and-onboarding-ui-task-008

Wire the confirmed org selection in MultiOrgContextSwitcher to TenantContextService.switchTenant(). After a successful s...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

high medium frontend Tier 5 🎨 frontend specialist
Integration and widget tests for org selection and context switcher
epic-organization-selection-and-onboarding-ui-task-010

Write widget and integration tests covering: (1) OrgSelectionScreen renders org list from mocked OrganizationRepository;...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

high medium testing Tier 7 🧪 testing specialist
Scaffold OrgSelectionScreen layout and routing
epic-organization-selection-and-onboarding-ui-task-001

Create the full-screen OrgSelectionScreen widget with a responsive scrollable layout, placeholder slots for the org list...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

critical medium frontend Tier 0 🎨 frontend specialist
Render partner org list via OrgCardWidget
epic-organization-selection-and-onboarding-ui-task-002

Integrate the OrgCardWidget into OrgSelectionScreen to display the full list of partner organizations fetched via Organi...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

critical medium frontend Tier 1 🎨 frontend specialist
Handle org tap, call OrgSelectionService, show loading state
epic-organization-selection-and-onboarding-ui-task-003

Implement the tap handler on each OrgCardWidget in OrgSelectionScreen. On tap, call OrgSelectionService to validate and ...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

critical medium frontend Tier 2 🎨 frontend specialist
Implement WCAG 2.2 AA accessibility for both screens
epic-organization-selection-and-onboarding-ui-task-009

Conduct a full WCAG 2.2 AA accessibility pass on OrgSelectionScreen and MultiOrgContextSwitcher. Requirements: all inter...

User Interface: Organization Selection Screen & Multi-Org Context Switcher · Organization Selection & Onboarding

critical medium frontend Tier 6 🎨 frontend specialist
Write unit tests for LocalStorageAdapter
epic-organization-selection-infrastructure-task-004

Write unit tests for LocalStorageAdapter covering: successful read/write of org ID string, read when key is absent retur...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

high low testing Tier 2 🧪 testing specialist
Write unit tests for OrgPersistenceRepository
epic-organization-selection-infrastructure-task-008

Write unit tests for OrgPersistenceRepository using a mocked LocalStorageAdapter. Cover: save writes the correct key/val...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

high low testing Tier 4 🧪 testing specialist
Define OrgPersistenceRepository interface
epic-organization-selection-infrastructure-task-005

Create an abstract Dart class (interface) for OrgPersistenceRepository defining the contract: getSelectedOrganizationId(...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

critical low database Tier 0 ⚙ backend specialist
Implement OrgPersistenceRepository with LocalStorageAdapter
epic-organization-selection-infrastructure-task-006

Implement the concrete OrgPersistenceRepository class backed by LocalStorageAdapter. Use the namespaced key constant def...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

critical low database Tier 3 ⚙ backend specialist
Define LocalStorage type-safe key constants
epic-organization-selection-infrastructure-task-001

Create a typed constants file defining all SharedPreferences keys used by the Organization Selection feature. Establish ...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement LocalStorageAdapter class
epic-organization-selection-infrastructure-task-002

Build the LocalStorageAdapter as a typed wrapper around SharedPreferences. Expose async read/write/delete methods for st...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

critical low infrastructure Tier 1 🏗 infrastructure specialist
Register LocalStorageAdapter with Riverpod
epic-organization-selection-infrastructure-task-003

Create a Riverpod provider for LocalStorageAdapter that initializes SharedPreferences and exposes the adapter as a singl...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

critical low infrastructure Tier 2 🏗 infrastructure specialist
Register OrgPersistenceRepository with Riverpod
epic-organization-selection-infrastructure-task-007

Create a Riverpod provider for OrgPersistenceRepository that depends on the LocalStorageAdapter provider. Expose the rep...

Organization Selection Infrastructure & Persistence Layer · Organization Selection Screen

critical low infrastructure Tier 4 ⚙ backend specialist
Implement label key resolver and fallback logic
epic-organization-selection-service-labels-task-007

Implement the label resolution logic in OrgLabelsProvider: given a LabelKey, return the organization-specific string if ...

Organization Selection Service & Labels Provider · Organization Selection Screen

high low backend Tier 4 ⚙ backend specialist
Unit test OrgSelectionService selection lifecycle
epic-organization-selection-service-labels-task-009

Write unit tests for OrgSelectionService covering: load organizations returns correct list, selectOrganization persists ...

Organization Selection Service & Labels Provider · Organization Selection Screen

high low testing Tier 6 🧪 testing specialist
Unit test OrgLabelsProvider terminology resolution
epic-organization-selection-service-labels-task-010

Write unit tests for OrgLabelsProvider covering: correct label returned for each of the four partner organizations, fall...

Organization Selection Service & Labels Provider · Organization Selection Screen

high low testing Tier 6 🧪 testing specialist
Define OrgSelectionService interface and data models
epic-organization-selection-service-labels-task-001

Define the abstract interface for OrgSelectionService including method signatures for loadOrganizations, selectOrganizat...

Organization Selection Service & Labels Provider · Organization Selection Screen

critical low backend Tier 0 ⚙ backend specialist
Define OrgLabelsProvider interface and label key registry
epic-organization-selection-service-labels-task-002

Define the abstract interface for OrgLabelsProvider including reactive label lookup, organization-scoped label maps, and...

Organization Selection Service & Labels Provider · Organization Selection Screen

critical low backend Tier 1 ⚙ backend specialist
Implement OrgSelectionService — load organizations list
epic-organization-selection-service-labels-task-003

Implement the loadOrganizations method in OrgSelectionService. Fetch the list of organizations the authenticated user be...

Organization Selection Service & Labels Provider · Organization Selection Screen

critical low backend Tier 1 ⚙ backend specialist
Implement OrgSelectionService — persist and retrieve selection
epic-organization-selection-service-labels-task-004

Implement selectOrganization to persist the user's chosen organization ID via the OrgPersistenceRepository (local storag...

Organization Selection Service & Labels Provider · Organization Selection Screen

critical low backend Tier 2 ⚙ backend specialist
Implement OrgLabelsProvider — load and expose reactive label maps
epic-organization-selection-service-labels-task-005

Implement OrgLabelsProvider to fetch organization-specific label mappings from Supabase (or bundled config) for the sele...

Organization Selection Service & Labels Provider · Organization Selection Screen

critical medium backend Tier 3 ⚙ backend specialist
Implement OrgSelectionService — trigger labels and config init
epic-organization-selection-service-labels-task-006

After a successful selectOrganization call, trigger initialization of OrgLabelsProvider and any organization-specific co...

Organization Selection Service & Labels Provider · Organization Selection Screen

critical medium backend Tier 4 ⚙ backend specialist
Register Riverpod providers for OrgSelectionService and OrgLabelsProvider
epic-organization-selection-service-labels-task-008

Create and register the Riverpod providers for both OrgSelectionService and OrgLabelsProvider in the app's provider scop...

Organization Selection Service & Labels Provider · Organization Selection Screen

critical low infrastructure Tier 5 🏗 infrastructure specialist
Highlight previously selected organization on return visits
epic-organization-selection-ui-task-008

On screen mount, read the persisted organization ID from OrgPersistenceRepository (via OrgSelectionService) and pre-sele...

Organization Selection Screen & Card UI · Organization Selection Screen

high low frontend Tier 7 🎨 frontend specialist
Widget tests for OrgCard states and semantics
epic-organization-selection-ui-task-011

Write Flutter widget tests covering: default unselected render, selected visual state, tap callback invocation, semantic...

Organization Selection Screen & Card UI · Organization Selection Screen

high low testing Tier 5 🧪 testing specialist
Integration tests for OrgSelectionScreen end-to-end flow
epic-organization-selection-ui-task-012

Write Flutter integration tests covering: screen loads and displays org list, previously selected org is pre-highlighted...

Organization Selection Screen & Card UI · Organization Selection Screen

high low testing Tier 10 🧪 testing specialist
Define OrgCard data model and interface contract
epic-organization-selection-ui-task-001

Define the OrgCard widget's public interface: the Organization data class (id, displayName, logoUrl, isSelected), the on...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 0 🎨 frontend specialist
Implement OrgCard widget — layout and logo rendering
epic-organization-selection-ui-task-002

Build the stateless OrgCard Flutter widget that renders an organization logo (with fallback initials avatar), display na...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 1 🎨 frontend specialist
Add selected/active visual state to OrgCard
epic-organization-selection-ui-task-003

Implement the visual selected state on OrgCard using a highlighted border or background tint derived from design tokens ...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 2 🎨 frontend specialist
Implement WCAG 2.2 AA semantics on OrgCard
epic-organization-selection-ui-task-004

Wrap OrgCard in a Semantics widget that announces the organization name, the role label resolved via OrgLabelsProvider, ...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 3 🎨 frontend specialist
Wire OrgCard tap callback and emit selection event
epic-organization-selection-ui-task-005

Implement the onTap GestureDetector/InkWell on OrgCard that invokes the parent-supplied callback with the selected Organ...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 4 🎨 frontend specialist
Build OrgSelectionScreen scaffold and layout
epic-organization-selection-ui-task-006

Create the OrgSelectionScreen stateful widget with a single-action screen layout: app name/logo at top, a scrollable Lis...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 5 🎨 frontend specialist
Persist selection and navigate to login on confirm
epic-organization-selection-ui-task-009

When the user taps the primary CTA button, call OrgSelectionService.selectOrganization(orgId) to persist the selection, ...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 8 🎨 frontend specialist
Apply WCAG 2.2 AA semantics to OrgSelectionScreen
epic-organization-selection-ui-task-010

Add screen-level semantics: set the page heading with Semantics(header: true), ensure the OrgCard list has a semantic li...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low frontend Tier 9 🎨 frontend specialist
Integrate OrgSelectionService into OrgSelectionScreen
epic-organization-selection-ui-task-007

Connect OrgSelectionScreen to OrgSelectionService (via Riverpod provider) to fetch the list of available organizations o...

Organization Selection Screen & Card UI · Organization Selection Screen

critical low integration Tier 6 🎨 frontend specialist
Add local-storage persistence to HierarchyCache
epic-organizational-hierarchy-management-foundation-task-009

Extend HierarchyCache to persist the serialized tree to local storage (SharedPreferences or Hive) so the hierarchy loads...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

high medium backend Tier 4 ⚙ backend specialist
Persist active chapter to secure local storage
epic-organizational-hierarchy-management-foundation-task-011

Extend ActiveChapterState BLoC to persist the selected chapter ID to flutter_secure_storage so it survives app restarts....

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

high low backend Tier 3 ⚙ backend specialist
Wire HierarchyCache invalidation to repository mutations
epic-organizational-hierarchy-management-foundation-task-012

Connect HierarchyCache invalidation hooks to all mutating operations in OrganizationUnitRepository and UnitAssignmentRep...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

high medium integration Tier 5 🔗 integration specialist
Write unit and integration tests for all repositories
epic-organizational-hierarchy-management-foundation-task-013

Write comprehensive flutter_test unit tests for OrganizationUnitRepository (CRUD, soft-delete, subtree RPC), UnitAssignm...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

high high testing Tier 6 🧪 testing specialist
Write unit tests for ActiveChapterState BLoC
epic-organizational-hierarchy-management-foundation-task-014

Write flutter_test BLoC tests for all ActiveChapterState transitions: initial state, SelectChapter emits ChapterSelected...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

high medium testing Tier 7 🧪 testing specialist
Define typed Dart models for OrganizationUnit
epic-organizational-hierarchy-management-foundation-task-004

Create typed Dart model classes for OrganizationUnit and related types: OrganizationUnitType enum (national, region, cha...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical medium backend Tier 1 ⚙ backend specialist
Implement OrganizationUnitRepository with CRUD and tree queries
epic-organizational-hierarchy-management-foundation-task-005

Implement the OrganizationUnitRepository class that wraps Supabase client calls for: fetchUnit(id), fetchSubtree(unitId)...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical high backend Tier 2 ⚙ backend specialist
Define typed Dart models for UnitAssignment
epic-organizational-hierarchy-management-foundation-task-006

Create typed Dart model classes for UnitAssignment including all junction table fields (id, userId, unitId, isPrimary, a...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical low backend Tier 2 ⚙ backend specialist
Implement UnitAssignmentRepository with uniqueness enforcement
epic-organizational-hierarchy-management-foundation-task-007

Implement the UnitAssignmentRepository with methods: fetchAssignmentsForUser(userId), fetchAssignmentsForUnit(unitId), a...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical medium backend Tier 3 ⚙ backend specialist
Implement in-memory HierarchyCache with tree structure
epic-organizational-hierarchy-management-foundation-task-008

Implement the HierarchyCache class using an in-memory map keyed by unit ID for O(1) node lookups, and a tree structure f...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical medium backend Tier 3 ⚙ backend specialist
Implement ActiveChapterState BLoC
epic-organizational-hierarchy-management-foundation-task-010

Implement the ActiveChapterState BLoC/Cubit that holds the currently selected OrganizationUnit (chapter) for the session...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical medium backend Tier 2 ⚙ backend specialist
Design organization_units database schema
epic-organizational-hierarchy-management-foundation-task-001

Design and implement the recursive adjacency-list database schema for the organization_units table in Supabase. Include ...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical high database Tier 0 🗄 database specialist
Design user_unit_assignments junction table
epic-organizational-hierarchy-management-foundation-task-002

Create the user_unit_assignments junction table schema with columns for id, user_id, unit_id, is_primary, assigned_at, a...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical medium database Tier 1 🗄 database specialist
Implement Supabase RPC for recursive subtree queries
epic-organizational-hierarchy-management-foundation-task-003

Write and deploy Supabase PostgreSQL RPC functions for recursive hierarchy queries: get_subtree(unit_id) using a recursi...

Hierarchy Data Layer Foundation · Organizational Hierarchy & Structure Management

critical high database Tier 1 🗄 database specialist
Add unit type labels and member counts to tree nodes
epic-organizational-hierarchy-management-core-services-task-018

Enhance each HierarchyTreeView node to display the unit type label (e.g., Region, Chapter, Local) resolved via the Organ...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

medium medium frontend Tier 7 🎨 frontend specialist
Implement node tap navigation in HierarchyTreeView
epic-organizational-hierarchy-management-core-services-task-019

Wire each HierarchyTreeView node with an onTap handler that navigates to the HierarchyNodeEditor screen for that unit. P...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

medium medium frontend Tier 8 🎨 frontend specialist
Expose HierarchyStructureValidator to admin portal
epic-organizational-hierarchy-management-core-services-task-010

Wire HierarchyStructureValidator so it is callable directly from the admin portal UI layer without going through Hierarc...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

medium medium integration Tier 3 🎨 frontend specialist
Implement ancestor and descendant path computation
epic-organizational-hierarchy-management-core-services-task-005

Add methods to HierarchyService for computing the full ancestor chain (root to node) and full descendant subtree for any...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

high medium backend Tier 2 ⚙ backend specialist
Implement hierarchy-changed event emission
epic-organizational-hierarchy-management-core-services-task-006

After each successful mutation (create, update, delete, reparent), HierarchyService must emit a HierarchyChangedEvent vi...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

high medium backend Tier 4 ⚙ backend specialist
Implement orphan detection in HierarchyStructureValidator
epic-organizational-hierarchy-management-core-services-task-008

Add orphan-detection validation to HierarchyStructureValidator: before a unit is deleted, check whether removing it woul...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

high medium backend Tier 2 ⚙ backend specialist
Implement depth-limit and level-type ordering validation
epic-organizational-hierarchy-management-core-services-task-009

Add two validation rules to HierarchyStructureValidator: (1) depth-limit enforcement that rejects assignments exceeding ...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

high medium backend Tier 2 ⚙ backend specialist
Implement HierarchyTreeView recursive widget skeleton
epic-organizational-hierarchy-management-core-services-task-016

Build the base Flutter HierarchyTreeView widget that accepts a list of HierarchyNode objects and renders them as a recur...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

high high frontend Tier 5 🎨 frontend specialist
Implement per-branch expand and collapse in HierarchyTreeView
epic-organizational-hierarchy-management-core-services-task-017

Add independent expand/collapse state per tree branch to HierarchyTreeView using an AnimatedContainer or ExpansionTile e...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

high medium frontend Tier 6 🎨 frontend specialist
Define HierarchyService data models and interfaces
epic-organizational-hierarchy-management-core-services-task-001

Define the core Dart interfaces, data classes, and type definitions for the HierarchyService layer. This includes Organi...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical medium backend Tier 0 ⚙ backend specialist
Implement HierarchyService Supabase read queries
epic-organizational-hierarchy-management-core-services-task-002

Implement the read-side Supabase queries in HierarchyService: fetching a single unit by ID, listing all units under a pa...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high backend Tier 1 ⚙ backend specialist
Implement HierarchyService CRUD mutation operations
epic-organizational-hierarchy-management-core-services-task-003

Implement create, update, and delete operations for organization units in HierarchyService. Each mutation must call Hier...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high backend Tier 3 ⚙ backend specialist
Implement cycle detection in HierarchyService
epic-organizational-hierarchy-management-core-services-task-004

Add cycle-prevention logic directly in HierarchyService to reject any reparent operation that would create a circular re...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high backend Tier 2 ⚙ backend specialist
Implement HierarchyStructureValidator cycle detection
epic-organizational-hierarchy-management-core-services-task-007

Implement the cycle-detection validation rule inside HierarchyStructureValidator as a standalone, testable method that a...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high backend Tier 1 ⚙ backend specialist
Author RLS SQL migration scripts for unit-scoped tables
epic-organizational-hierarchy-management-core-services-task-011

Write Supabase migration SQL files that enable Row Level Security on all organization-unit-scoped tables (organization_u...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high database Tier 1 🗄 database specialist
Author coordinator and peer mentor RLS read/write policies
epic-organizational-hierarchy-management-core-services-task-013

Write the role-differentiated RLS policies: coordinators may read and write all units within their chapter subtree; peer...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high database Tier 3 🗄 database specialist
Deploy RLS migrations to staging and production Supabase
epic-organizational-hierarchy-management-core-services-task-015

Apply all RLS migration scripts to the staging Supabase project, run the full role simulation test suite, then promote t...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical medium deployment Tier 5 🚀 devops specialist
Implement JWT claim injection for RLS tenant scoping
epic-organizational-hierarchy-management-core-services-task-012

Implement the server-side mechanism (Supabase Edge Function or database hook) that injects the authenticated user's orga...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high infrastructure Tier 2 🏗 infrastructure specialist
Test RLS policies against simulated role sets
epic-organizational-hierarchy-management-core-services-task-014

Write automated tests that simulate multiple role scenarios (coordinator of chapter A trying to read chapter B data, pee...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high testing Tier 4 🧪 testing specialist
Integration and regression testing for hierarchy services
epic-organizational-hierarchy-management-core-services-task-020

Write Flutter integration tests and Dart unit tests covering the full hierarchy mutation flow: validator pre-check → Hie...

Core Hierarchy Services and Security Policies · Organizational Hierarchy & Structure Management

critical high testing Tier 9 🧪 testing specialist
Document unit assignment and aggregation architecture
epic-organizational-hierarchy-management-assignment-aggregation-task-018

Produce developer documentation covering: the unit assignment constraint model (single primary, 5-chapter max, RLS scopi...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

medium low documentation Tier 7 📝 documentor
Build Hierarchy Node Editor widget tests
epic-organizational-hierarchy-management-assignment-aggregation-task-016

Write flutter_test widget tests for the Hierarchy Node Editor covering: form field validation error display, cycle preve...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

medium medium testing Tier 6 🧪 testing specialist
Implement Active Chapter State BLoC
epic-organizational-hierarchy-management-assignment-aggregation-task-004

Build the BLoC/Cubit managing the currently active chapter context for a session. Expose streams for the selected organi...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high low backend Tier 2 ⚙ backend specialist
Implement Hierarchy Node Editor save and validation flow
epic-organizational-hierarchy-management-assignment-aggregation-task-011

Connect the Hierarchy Node Editor form to backend services: pre-save validation via Hierarchy Structure Validator (cycle...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high medium backend Tier 5 ⚡ fullstack developer
Implement Hierarchy Cache data layer
epic-organizational-hierarchy-management-assignment-aggregation-task-001

Build the in-memory and persistent caching layer for hierarchy tree data. Implement cache invalidation strategies, TTL m...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high low database Tier 0 🗄 database specialist
Build Hierarchy Node Editor form UI
epic-organizational-hierarchy-management-assignment-aggregation-task-010

Implement the full-screen form widget for creating and editing individual hierarchy nodes. Include fields for node name,...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high medium frontend Tier 4 🎨 frontend specialist
Implement Hierarchy Structure Validator
epic-organizational-hierarchy-management-assignment-aggregation-task-005

Build the validation service that enforces structural rules on the hierarchy tree: detect and prevent cycle creation whe...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high medium infrastructure Tier 2 ⚙ backend specialist
Implement aggregation Supabase RPC edge functions
epic-organizational-hierarchy-management-assignment-aggregation-task-017

Deploy Supabase edge functions implementing server-side aggregation RPCs for the heaviest subtree rollups. Move recursiv...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high high infrastructure Tier 6 🏗 infrastructure specialist
Integrate aggregation cache invalidation on activity writes
epic-organizational-hierarchy-management-assignment-aggregation-task-013

Implement cache invalidation hooks that trigger when new activity records are written. When an activity is registered, i...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high medium integration Tier 5 🔗 integration specialist
Build Unit Assignment Service integration tests
epic-organizational-hierarchy-management-assignment-aggregation-task-014

Write comprehensive integration tests for the Unit Assignment Service covering: single-primary-per-organization constrai...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high medium testing Tier 5 🧪 testing specialist
Build Hierarchy Aggregation Service performance tests
epic-organizational-hierarchy-management-assignment-aggregation-task-015

Write performance and correctness tests for the aggregation rollup engine simulating NHF's full 1,400-chapter tree. Vali...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

high high testing Tier 6 🧪 testing specialist
Implement aggregation drill-down and Bufdir breakdown API
epic-organizational-hierarchy-management-assignment-aggregation-task-012

Extend the Hierarchy Aggregation Service to produce Bufdir-compatible breakdown reports: activity counts segmented by un...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

critical high api Tier 5 🔌 api specialist
Implement Hierarchy Service core business logic
epic-organizational-hierarchy-management-assignment-aggregation-task-007

Build the domain service encapsulating all hierarchy tree operations: create node, move node, delete node with cascade c...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

critical high backend Tier 3 ⚙ backend specialist
Build Unit Assignment Service with constraint enforcement
epic-organizational-hierarchy-management-assignment-aggregation-task-008

Implement the service managing user-to-organizational-unit assignments. Enforce the single-primary-unit-per-organization...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

critical medium backend Tier 4 ⚙ backend specialist
Implement Hierarchy Aggregation Service rollup engine
epic-organizational-hierarchy-management-assignment-aggregation-task-009

Build the core rollup engine that aggregates activity counts upward from leaf chapter nodes through regions to national ...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

critical high backend Tier 4 ⚙ backend specialist
Build Unit Assignment Repository CRUD
epic-organizational-hierarchy-management-assignment-aggregation-task-002

Implement the Supabase-backed repository for the junction table linking users to organizational units. Provide create, r...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

critical medium database Tier 1 🗄 database specialist
Build Organization Unit Repository with tree queries
epic-organizational-hierarchy-management-assignment-aggregation-task-003

Implement the Supabase repository for organizational units supporting hierarchical queries: fetch children of a node, fe...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

critical high database Tier 1 🗄 database specialist
Configure RLS Policy Manager for unit assignments
epic-organizational-hierarchy-management-assignment-aggregation-task-006

Implement and configure Supabase Row Level Security policies governing access to unit_assignments and organization_units...

Unit Assignment and Hierarchy Aggregation · Organizational Hierarchy & Structure Management

critical high infrastructure Tier 2 🏗 infrastructure specialist
Implement Hierarchy Cache Layer
epic-organizational-hierarchy-management-admin-portal-task-001

Build the in-memory and persistent caching layer for organization unit hierarchy data. Implement TTL-based invalidation,...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high low backend Tier 0 ⚙ backend specialist
Implement Active Chapter State BLoC
epic-organizational-hierarchy-management-admin-portal-task-004

Build the BLoC/Cubit for managing the currently active chapter in user session context. Persist selected chapter to secu...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high low backend Tier 0 ⚙ backend specialist
Implement Chapter Context Persistence and Broadcast
epic-organizational-hierarchy-management-admin-portal-task-012

Implement chapter switching persistence using secure local storage and downstream broadcast mechanism. When user switche...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high medium backend Tier 6 ⚙ backend specialist
Build Chapter Switcher Bottom Sheet UI
epic-organizational-hierarchy-management-admin-portal-task-011

Implement the Slack-style bottom sheet UI for chapter switching. Display the user's available chapters with their curren...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high medium frontend Tier 5 🎨 frontend specialist
Build Unit Assignment Panel UI
epic-organizational-hierarchy-management-admin-portal-task-013

Implement the embedded admin UI widget showing a user's current unit assignments. Display assignment list with unit name...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high medium frontend Tier 5 🎨 frontend specialist
Build Hierarchy Tree View Widget
epic-organizational-hierarchy-management-admin-portal-task-014

Implement the interactive tree view widget for displaying the organization hierarchy. Support expand/collapse nodes, dis...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high high frontend Tier 4 🎨 frontend specialist
Build Hierarchy Node Editor Screen
epic-organizational-hierarchy-management-admin-portal-task-015

Implement the modal/screen for creating and editing hierarchy nodes. Include fields for node name, type (chapter/region/...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high medium frontend Tier 5 🎨 frontend specialist
Implement Hierarchy Structure Validator
epic-organizational-hierarchy-management-admin-portal-task-005

Build the infrastructure component that validates hierarchy tree operations before persistence. Enforce constraints: no ...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high medium infrastructure Tier 2 ⚙ backend specialist
Write Integration Tests for Chapter Switcher Flow
epic-organizational-hierarchy-management-admin-portal-task-018

Implement widget and integration tests for the complete chapter switching flow. Test bottom sheet display with correct c...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high medium testing Tier 7 🧪 testing specialist
Write Integration Tests for Admin Portal and Unit Assignment
epic-organizational-hierarchy-management-admin-portal-task-019

Implement end-to-end and widget tests for the HierarchyAdminPortalScreen and UnitAssignmentPanel. Cover: add/remove/move...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

high medium testing Tier 7 🧪 testing specialist
Implement Core Hierarchy Service
epic-organizational-hierarchy-management-admin-portal-task-007

Build the high-complexity service layer that encapsulates all hierarchy business logic. Provide methods for tree travers...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical high backend Tier 3 ⚙ backend specialist
Implement Unit Assignment Service
epic-organizational-hierarchy-management-admin-portal-task-008

Build the service layer for user-to-unit assignment management. Expose methods for listing a user's assignments, adding/...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical medium backend Tier 4 ⚙ backend specialist
Build Access Scope Service Core
epic-organizational-hierarchy-management-admin-portal-task-009

Implement the central access scope computation engine. Given a user and their unit assignments, compute the complete set...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical high backend Tier 5 ⚙ backend specialist
Build Unit Assignment Repository
epic-organizational-hierarchy-management-admin-portal-task-002

Implement the Supabase-backed repository for unit assignment CRUD operations. Include methods for fetching assignments b...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical medium database Tier 1 🗄 database specialist
Build Organization Unit Repository
epic-organizational-hierarchy-management-admin-portal-task-003

Implement the high-complexity Supabase repository for organization unit data. Support hierarchical queries (ancestors, d...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical high database Tier 1 🗄 database specialist
Implement Hierarchy Admin Portal Screen
epic-organizational-hierarchy-management-admin-portal-task-016

Build the top-level HierarchyAdminPortalScreen combining all hierarchy management UI elements. Integrate the HierarchyTr...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical high frontend Tier 6 🎨 frontend specialist
Build RLS Policy Manager
epic-organizational-hierarchy-management-admin-portal-task-006

Implement the infrastructure layer that manages Supabase Row Level Security policy configuration and JWT claims injectio...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical high infrastructure Tier 2 🏗 infrastructure specialist
Integrate Access Scope with Supabase RLS JWT
epic-organizational-hierarchy-management-admin-portal-task-010

Wire the AccessScopeService to inject computed unit scope into Supabase JWT claims. Implement claim refresh on assignmen...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical high integration Tier 6 🔗 integration specialist
Write Access Scope Service Unit Tests
epic-organizational-hierarchy-management-admin-portal-task-017

Implement comprehensive unit tests for the AccessScopeService. Cover scope computation for all role types (coordinator s...

Admin Portal, Access Scoping, and Chapter Switching · Organizational Hierarchy & Structure Management

critical high testing Tier 7 🧪 testing specialist
Document detection system and threshold tuning guide
epic-organizational-hierarchy-management-duplicate-detection-task-012

Write technical documentation covering the duplicate detection architecture, fingerprint algorithm, configurable thresho...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

medium low documentation Tier 6 📝 documentor
Build scheduled Edge Function for batch detection
epic-organizational-hierarchy-management-duplicate-detection-task-007

Implement a Supabase Edge Function that runs on a configurable schedule to perform batch duplicate detection across exis...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

medium high infrastructure Tier 5 🏗 infrastructure specialist
Create Dart model and repository for duplicates
epic-organizational-hierarchy-management-duplicate-detection-task-009

Implement the Dart data model classes for SuspectedDuplicate, DuplicateDetectionConfig, and ActivityFingerprint. Create ...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high medium backend Tier 3 ⚙ backend specialist
Build duplicate detection service layer
epic-organizational-hierarchy-management-duplicate-detection-task-010

Implement the DuplicateActivityDetectorService in Dart that wraps the repository and provides business logic: loading pe...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high medium backend Tier 4 ⚙ backend specialist
Design activity fingerprint schema
epic-organizational-hierarchy-management-duplicate-detection-task-001

Define the data structure for activity fingerprints used in duplicate detection: participant ID, activity date, activity...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high medium database Tier 0 🗄 database specialist
Create duplicate detection config table
epic-organizational-hierarchy-management-duplicate-detection-task-002

Create the Supabase database table for per-organization duplicate detection configuration, storing time-window threshold...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high low database Tier 1 🗄 database specialist
Create suspected duplicates table
epic-organizational-hierarchy-management-duplicate-detection-task-003

Create the Supabase database table for storing flagged duplicate activity pairs, including fields for both activity IDs,...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high medium database Tier 1 🗄 database specialist
Implement fingerprint comparison SQL function
epic-organizational-hierarchy-management-duplicate-detection-task-004

Implement a PostgreSQL function that compares two activity records using the fingerprint fields: same participant, activ...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high high database Tier 2 🗄 database specialist
Build cross-hierarchy activity query
epic-organizational-hierarchy-management-duplicate-detection-task-005

Implement a SQL query or Postgres function that retrieves activities submitted by coordinators at different unit levels ...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high high database Tier 3 🗄 database specialist
Implement Supabase trigger for new activities
epic-organizational-hierarchy-management-duplicate-detection-task-006

Create a Supabase database trigger that fires after INSERT on the activities table. The trigger invokes the fingerprint ...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high high infrastructure Tier 4 🏗 infrastructure specialist
Implement RLS policies for duplicate queue
epic-organizational-hierarchy-management-duplicate-detection-task-008

Configure Row Level Security policies on the suspected_duplicates table so that admin users can read and update all reco...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high medium infrastructure Tier 2 🏗 infrastructure specialist
Write integration tests for detection logic
epic-organizational-hierarchy-management-duplicate-detection-task-011

Write integration tests covering the full duplicate detection pipeline: trigger fires on new activity insert, cross-hier...

Cross-Chapter Duplicate Activity Detection · Organizational Hierarchy & Structure Management

high high testing Tier 5 🧪 testing specialist
Implement dispatcher retry logic with backoff
epic-pause-status-notifications-foundation-task-008

Add exponential backoff retry logic to the FCM dispatcher for transient failures (network timeout, FCM 500 errors). Impl...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

high medium infrastructure Tier 3 ⚙ backend specialist
Unit test pause status record repository
epic-pause-status-notifications-foundation-task-004

Write unit tests for the pause status record repository covering: successful record fetch, coordinator resolution with s...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

high low testing Tier 3 🧪 testing specialist
Unit test FCM notification dispatcher
epic-pause-status-notifications-foundation-task-009

Write unit tests for the FCM dispatcher covering: successful push delivery, in-app record creation, retry exhaustion pat...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

high medium testing Tier 4 🧪 testing specialist
Unit test pause notification payload builder
epic-pause-status-notifications-foundation-task-013

Write unit tests for the payload builder covering: coordinator payload content and character limits, peer mentor confirm...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

high low testing Tier 2 🧪 testing specialist
Integration test: repository, builder, and dispatcher
epic-pause-status-notifications-foundation-task-014

Write integration tests that exercise the full data-and-dispatch foundation stack end-to-end: fetch pause record and coo...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

high medium testing Tier 5 🧪 testing specialist
Define pause status data models and interfaces
epic-pause-status-notifications-foundation-task-001

Define Dart data models and repository interfaces for pause status records, including PauseStatusRecord, CoordinatorRela...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical low backend Tier 0 ⚙ backend specialist
Implement coordinator relationship resolver
epic-pause-status-notifications-foundation-task-003

Build the coordinator resolution logic within the repository that traverses the org membership table to find the assigne...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical medium backend Tier 2 ⚙ backend specialist
Implement in-app notification dispatch channel
epic-pause-status-notifications-foundation-task-007

Implement the in-app notification dispatch channel that writes notification records to the Supabase notifications table,...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical medium backend Tier 2 ⚙ backend specialist
Define notification payload models and constraints
epic-pause-status-notifications-foundation-task-010

Define Dart payload models for coordinator and peer mentor pause notification recipients. Establish character constraint...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical low backend Tier 0 ⚙ backend specialist
Implement coordinator pause notification payload builder
epic-pause-status-notifications-foundation-task-011

Implement the payload builder method that composes a localised coordinator notification for a peer mentor pause event. I...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical low backend Tier 1 ⚙ backend specialist
Implement peer mentor pause confirmation payload builder
epic-pause-status-notifications-foundation-task-012

Implement the payload builder method that composes a localised confirmation notification for the peer mentor who initiat...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical low backend Tier 1 ⚙ backend specialist
Implement Supabase pause record queries
epic-pause-status-notifications-foundation-task-002

Implement the Supabase-backed data access methods on the pause status record repository: fetch active pause records by m...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical medium database Tier 1 🗄 database specialist
Define FCM dispatcher interfaces and config
epic-pause-status-notifications-foundation-task-005

Define the abstract FCM notification dispatcher interface covering push delivery and in-app delivery channels. Establish...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical low infrastructure Tier 0 ⚙ backend specialist
Implement FCM push notification dispatch
epic-pause-status-notifications-foundation-task-006

Implement the FCM push channel dispatch method that sends a formatted notification payload to a resolved FCM token. Incl...

Pause Status Notifications — Data & Dispatch Foundation · Pause Status Change Notifications

critical medium infrastructure Tier 1 ⚙ backend specialist
Write unit and integration tests for pipeline
epic-pause-status-notifications-backend-pipeline-task-011

Write unit tests for payload validation, transition detection, coordinator resolution, and payload building. Write integ...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

high medium testing Tier 7 🧪 testing specialist
Define webhook payload schema and types
epic-pause-status-notifications-backend-pipeline-task-001

Define TypeScript interfaces and Zod validation schemas for the Supabase database webhook payload received by the pause ...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical low backend Tier 0 ⚙ backend specialist
Implement webhook payload validation logic
epic-pause-status-notifications-backend-pipeline-task-003

Implement the payload validation layer inside the webhook handler Edge Function. Parse and validate the incoming Supabas...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical low backend Tier 2 ⚙ backend specialist
Implement transition direction detection
epic-pause-status-notifications-backend-pipeline-task-004

Implement the logic that determines transition direction from the old and new status column values. Detect active→paused...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical low backend Tier 3 ⚙ backend specialist
Define orchestrator service interface and types
epic-pause-status-notifications-backend-pipeline-task-005

Define the TypeScript interface for the Pause Notification Orchestrator service including input types (mentor ID, transi...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical low backend Tier 1 ⚙ backend specialist
Implement coordinator resolution in orchestrator
epic-pause-status-notifications-backend-pipeline-task-006

Implement the coordinator resolution step within the Pause Notification Orchestrator. Query the database to find the coo...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical medium backend Tier 2 ⚙ backend specialist
Implement dual-recipient payload building
epic-pause-status-notifications-backend-pipeline-task-007

Implement the payload construction step in the orchestrator that builds notification payloads for both recipients: the c...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical medium backend Tier 3 ⚙ backend specialist
Integrate in-app notification channel dispatch
epic-pause-status-notifications-backend-pipeline-task-009

Wire the in-app notification channel into the orchestrator alongside the FCM push channel. Insert notification records i...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical medium backend Tier 5 ⚙ backend specialist
Deploy webhook and configure Supabase trigger
epic-pause-status-notifications-backend-pipeline-task-012

Deploy the pause status webhook Edge Function to the Supabase project and configure the database webhook trigger on the ...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical low deployment Tier 8 🚀 devops specialist
Scaffold Supabase Edge Function for webhook
epic-pause-status-notifications-backend-pipeline-task-002

Create the Supabase Edge Function file structure for the pause status webhook handler. Set up the Deno entry point, conf...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical low infrastructure Tier 1 🏗 infrastructure specialist
Integrate FCM dispatcher for push notifications
epic-pause-status-notifications-backend-pipeline-task-008

Wire the FCM notification dispatcher into the orchestrator to send push notifications for both pause and resume events. ...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical medium integration Tier 4 🔗 integration specialist
Connect webhook handler to orchestrator
epic-pause-status-notifications-backend-pipeline-task-010

Wire the pause status webhook handler to invoke the Pause Notification Orchestrator after successful payload validation ...

Pause Status Notifications — Orchestration & Webhook Pipeline · Pause Status Change Notifications

critical low integration Tier 6 🔗 integration specialist
Wire profile deep-link in PauseNotificationCard
epic-pause-status-notifications-ui-task-004

Implement the tap handler on the quick-action link in PauseNotificationCard so it navigates to the peer mentor's profile...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

medium low frontend Tier 3 🎨 frontend specialist
Widget tests for both UI components
epic-pause-status-notifications-ui-task-008

Write Flutter widget tests for PauseNotificationCard and PeerMentorConfirmationBanner. For the card: verify mentor name,...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

medium low testing Tier 4 🧪 testing specialist
Define PauseNotificationCard data model
epic-pause-status-notifications-ui-task-001

Define the Dart data model for the pause notification card, including fields for peer mentor name, effective date, optio...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

high low frontend Tier 0 🎨 frontend specialist
Implement PauseNotificationCard widget
epic-pause-status-notifications-ui-task-002

Build the Flutter widget that renders in the coordinator's in-app notification feed. Display peer mentor name as the hea...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

high low frontend Tier 1 🎨 frontend specialist
Define PeerMentorConfirmationBanner data model
epic-pause-status-notifications-ui-task-005

Define the Dart data model for the peer mentor confirmation banner, capturing the event type (pause activated or deactiv...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

high low frontend Tier 0 🎨 frontend specialist
Implement PeerMentorConfirmationBanner widget
epic-pause-status-notifications-ui-task-006

Build the Flutter inline toast/banner widget shown to peer mentors on pause activation and deactivation. Display a confi...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

high low frontend Tier 1 🎨 frontend specialist
Integrate PauseNotificationCard into notification feed
epic-pause-status-notifications-ui-task-003

Register the PauseNotificationCard as a renderable notification type within the existing notification feed infrastructur...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

high low integration Tier 2 ⚡ fullstack developer
Trigger banner on pause state change events
epic-pause-status-notifications-ui-task-007

Integrate PeerMentorConfirmationBanner with the notification trigger pipeline so it surfaces whenever the peer mentor re...

Pause Status Notifications — In-App UI Components · Pause Status Change Notifications

high low integration Tier 2 🔗 integration specialist
Unit Test Certification Status Service All Edge Cases
epic-peer-mentor-detail-screen-foundation-task-007

Write exhaustive unit tests for CertificationStatusService covering: expiry date exactly today (expired), expiry exactly...

Foundation Infrastructure & Certification Logic · Peer Mentor Profile & Status Screen

high low testing Tier 2 🧪 testing specialist
Define MentorStatus Enum and Certification Domain Types
epic-peer-mentor-detail-screen-foundation-task-005

Define the MentorStatus enum with four values: active, expiring_soon, expired, and paused. Define the CertificationStatu...

Foundation Infrastructure & Certification Logic · Peer Mentor Profile & Status Screen

critical low backend Tier 0 ⚙ backend specialist
Implement Certification Status Derivation Business Logic
epic-peer-mentor-detail-screen-foundation-task-006

Implement the CertificationStatusService as a pure Dart class (no Flutter dependencies, no network calls). The service a...

Foundation Infrastructure & Certification Logic · Peer Mentor Profile & Status Screen

critical low backend Tier 1 ⚙ backend specialist
Define Semantic Color Tokens for Design Token Theme
epic-peer-mentor-detail-screen-foundation-task-002

Define the semantic color token set as a Flutter ThemeExtension subclass. Include tokens for certification status states...

Foundation Infrastructure & Certification Logic · Peer Mentor Profile & Status Screen

critical low frontend Tier 0 🎨 frontend specialist
Define Typography and Spacing Design Tokens
epic-peer-mentor-detail-screen-foundation-task-003

Extend the ThemeExtension with a full typography token set (display, headline, body, label, caption scale with font size...

Foundation Infrastructure & Certification Logic · Peer Mentor Profile & Status Screen

critical low frontend Tier 1 🎨 frontend specialist
Register Design Token Theme Extension in App ThemeData
epic-peer-mentor-detail-screen-foundation-task-004

Register the completed ThemeExtension (color, typography, spacing, radius tokens) into the app's ThemeData for both ligh...

Foundation Infrastructure & Certification Logic · Peer Mentor Profile & Status Screen

critical low frontend Tier 2 🎨 frontend specialist
Implement Supabase Client Provider as Riverpod Singleton
epic-peer-mentor-detail-screen-foundation-task-001

Create a Riverpod Provider that exposes a single shared SupabaseClient instance for use across all repositories and data...

Foundation Infrastructure & Certification Logic · Peer Mentor Profile & Status Screen

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement PeerMentorRepository org-filtered list query
epic-peer-mentor-detail-screen-data-layer-task-004

Implement fetchMentorsByOrganization(String organizationId, {MentorStatus? statusFilter}) in PeerMentorRepository. The q...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

high low backend Tier 2 ⚙ backend specialist
Implement MentorActivityLogRepository mentor-scoped raw log queries
epic-peer-mentor-detail-screen-data-layer-task-007

Implement fetchActivityLogs(String mentorId, {DateRange? range, int? limit}) in MentorActivityLogRepository for retrievi...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

high low backend Tier 2 ⚙ backend specialist
Implement AssignmentHistoryRepository open/closed status and deadline filters
epic-peer-mentor-detail-screen-data-layer-task-009

Extend AssignmentHistoryRepository with fetchOpenAssignments(String mentorId) and fetchAssignmentsByStatus(String mentor...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

high low backend Tier 2 ⚙ backend specialist
Unit tests for PeerMentorRepository
epic-peer-mentor-detail-screen-data-layer-task-010

Write unit tests for all PeerMentorRepository methods using mocked Supabase client. Tests must cover: successful profile...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

high low testing Tier 3 🧪 testing specialist
Unit tests for CertificationRecordRepository and MentorActivityLogRepository
epic-peer-mentor-detail-screen-data-layer-task-011

Write unit tests for CertificationRecordRepository and MentorActivityLogRepository using mocked Supabase clients. Certif...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

high low testing Tier 3 🧪 testing specialist
Unit tests for AssignmentHistoryRepository and cross-repository integration
epic-peer-mentor-detail-screen-data-layer-task-012

Write unit tests for AssignmentHistoryRepository covering: empty list return for NHF and HLF org IDs, successful fetch f...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

high low testing Tier 4 🧪 testing specialist
Define typed Dart model classes for peer mentor data
epic-peer-mentor-detail-screen-data-layer-task-001

Create the four core Dart model classes: PeerMentorProfile, CertificationRecord, MentorActivitySummary, and AssignedCont...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

critical low backend Tier 0 ⚙ backend specialist
Implement PeerMentorRepository profile fetch method
epic-peer-mentor-detail-screen-data-layer-task-002

Implement the fetchPeerMentorProfile(String mentorId) method in PeerMentorRepository using the Supabase client provider....

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

critical low backend Tier 1 ⚙ backend specialist
Implement PeerMentorRepository pause/active status update
epic-peer-mentor-detail-screen-data-layer-task-003

Implement updateMentorStatus(String mentorId, MentorStatus status, {DateTime? expectedReturnDate}) in PeerMentorReposito...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

critical low backend Tier 2 ⚙ backend specialist
Implement CertificationRecordRepository with HLF null-safe branching
epic-peer-mentor-detail-screen-data-layer-task-005

Implement fetchCertificationHistory(String mentorId, String organizationId) in CertificationRecordRepository. The method...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

critical low backend Tier 1 ⚙ backend specialist
Implement MentorActivityLogRepository aggregated statistics fetch
epic-peer-mentor-detail-screen-data-layer-task-006

Implement fetchActivitySummary(String mentorId, ActivityPeriod period) in MentorActivityLogRepository. The method must q...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

critical low backend Tier 1 ⚙ backend specialist
Implement AssignmentHistoryRepository with Blindeforbundet org branching
epic-peer-mentor-detail-screen-data-layer-task-008

Implement fetchAssignmentHistory(String mentorId, String organizationId) in AssignmentHistoryRepository. The method MUST...

Data Repositories & Supabase Query Layer · Peer Mentor Profile & Status Screen

critical low backend Tier 1 ⚙ backend specialist
Implement OrgLabelsProvider Riverpod stream
epic-peer-mentor-detail-screen-ui-components-task-001

Create the OrgLabelsProvider as a Riverpod StreamProvider that reactively streams org-specific terminology strings from ...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 0 🎨 frontend specialist
Add fallback defaults to OrgLabelsProvider
epic-peer-mentor-detail-screen-ui-components-task-002

Extend OrgLabelsProvider to supply hardcoded fallback terminology strings when the Supabase stream is unavailable or ret...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 1 🎨 frontend specialist
Add accessibility and contrast to CertificationAlertBanner
epic-peer-mentor-detail-screen-ui-components-task-006

Ensure CertificationAlertBanner meets WCAG 2.2 AA: verify banner background-to-text contrast ratio, add Semantics node w...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 3 🎨 frontend specialist
Implement PeerMentorProfileHeader avatar widget
epic-peer-mentor-detail-screen-ui-components-task-007

Build PeerMentorProfileHeader with a circular avatar that loads from a remote URL and falls back to generated initials i...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 2 🎨 frontend specialist
Add semantics and WCAG compliance to ProfileHeader
epic-peer-mentor-detail-screen-ui-components-task-008

Add merged Semantics to PeerMentorProfileHeader so VoiceOver reads the header as a single announcement: name, role, and ...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 3 🎨 frontend specialist
Implement AssignedContactsList scrollable section
epic-peer-mentor-detail-screen-ui-components-task-009

Build AssignedContactsList as a vertically scrollable ListView.builder section displaying contact rows. Each row must sh...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 0 🎨 frontend specialist
Add Blindeforbundet assignment count badge to contacts list
epic-peer-mentor-detail-screen-ui-components-task-010

Extend AssignedContactsList rows to display a Blindeforbundet-specific badge showing the open assignment count and deadl...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 2 🎨 frontend specialist
Implement MentorActivitySummaryPanel stats card
epic-peer-mentor-detail-screen-ui-components-task-011

Build MentorActivitySummaryPanel as an aggregated stats card widget displaying total activity count, activity type break...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 0 🎨 frontend specialist
Add tap-to-navigate and accessibility to ActivitySummaryPanel
epic-peer-mentor-detail-screen-ui-components-task-012

Make MentorActivitySummaryPanel tappable: wrapping the card in an InkWell that calls an onTap callback to navigate to th...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high low frontend Tier 1 🎨 frontend specialist
Unit test all six UI widgets
epic-peer-mentor-detail-screen-ui-components-task-013

Write flutter_test widget tests for all six components in this epic: OrgLabelsProvider (stream emission, fallback), Cert...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high medium testing Tier 4 🧪 testing specialist
Golden and accessibility integration tests
epic-peer-mentor-detail-screen-ui-components-task-014

Create golden screenshot tests for CertificationStatusBadge (all states), PeerMentorProfileHeader (with and without avat...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

high medium testing Tier 5 🧪 testing specialist
Implement CertificationStatusBadge widget
epic-peer-mentor-detail-screen-ui-components-task-003

Build the CertificationStatusBadge as a pill-shaped Flutter widget that derives its visual state (valid, expiring-soon, ...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

critical low frontend Tier 0 🎨 frontend specialist
Add accessible semantics to CertificationStatusBadge
epic-peer-mentor-detail-screen-ui-components-task-004

Wrap CertificationStatusBadge in Flutter Semantics with a human-readable label computed from the expiry state (e.g., 'Ce...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

critical low frontend Tier 1 🎨 frontend specialist
Implement CertificationAlertBanner widget
epic-peer-mentor-detail-screen-ui-components-task-005

Build the CertificationAlertBanner as a conditional banner widget that is only rendered for HLF-org contexts. The banner...

UI Components & Organization Label Integration · Peer Mentor Profile & Status Screen

critical low frontend Tier 2 🎨 frontend specialist
Apply org-specific data filtering in aggregation
epic-peer-mentor-detail-screen-bloc-and-assembly-task-003

Extend PeerMentorAggregationService to apply organization-specific filtering after merging. Read org context from OrgLab...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high medium backend Tier 2 ⚙ backend specialist
Wire BLoC mount trigger on screen initialization
epic-peer-mentor-detail-screen-bloc-and-assembly-task-006

Configure PeerMentorDetailBLoC to automatically dispatch LoadPeerMentorDetail when the screen mounts. Use BlocProvider a...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high low frontend Tier 4 🎨 frontend specialist
Scaffold PeerMentorDetailScreenWidget layout structure
epic-peer-mentor-detail-screen-bloc-and-assembly-task-007

Create the top-level PeerMentorDetailScreenWidget Flutter screen with a scrollable layout using CustomScrollView with Sl...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high medium frontend Tier 5 🎨 frontend specialist
Integrate sub-component widgets into screen assembly
epic-peer-mentor-detail-screen-bloc-and-assembly-task-009

Replace placeholder sections in PeerMentorDetailScreenWidget with actual sub-component widgets: PeerMentorProfileHeader,...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high medium frontend Tier 7 🎨 frontend specialist
Implement pull-to-refresh and HLF certification tap routing
epic-peer-mentor-detail-screen-bloc-and-assembly-task-010

Add RefreshIndicator wrapping the scrollable content to dispatch RefreshPeerMentorDetail on pull-to-refresh. Implement o...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high medium frontend Tier 8 🎨 frontend specialist
Apply WCAG 2.2 AA semantics throughout full screen
epic-peer-mentor-detail-screen-bloc-and-assembly-task-011

Audit and annotate the entire PeerMentorDetailScreenWidget and all its assembled sub-components with Flutter Semantics w...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high medium frontend Tier 9 🎨 frontend specialist
Configure StatefulShellRoute navigation integration
epic-peer-mentor-detail-screen-bloc-and-assembly-task-012

Register the PeerMentorDetailScreen as a nested route within the app's StatefulShellRoute configuration using GoRouter. ...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high medium frontend Tier 5 🎨 frontend specialist
Integration tests for aggregation, BLoC, and screen assembly
epic-peer-mentor-detail-screen-bloc-and-assembly-task-013

Write integration and unit tests covering: PeerMentorAggregationService parallel fetch with mocked repositories includin...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

high high testing Tier 10 🧪 testing specialist
Define PeerMentorDetailModel unified data structure
epic-peer-mentor-detail-screen-bloc-and-assembly-task-001

Create the PeerMentorDetailModel Dart class that merges data from all four repositories (peer mentor profile, certificat...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

critical medium backend Tier 0 ⚙ backend specialist
Implement PeerMentorAggregationService parallel fetch
epic-peer-mentor-detail-screen-bloc-and-assembly-task-002

Implement PeerMentorAggregationService using Future.wait to fetch data from PeerMentorRepository, CertificationRecordRep...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

critical high backend Tier 1 ⚙ backend specialist
Define BLoC events and states for mentor detail
epic-peer-mentor-detail-screen-bloc-and-assembly-task-004

Define the complete set of BLoC events (LoadPeerMentorDetail, RefreshPeerMentorDetail) and states (PeerMentorDetailIniti...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

critical low backend Tier 1 ⚙ backend specialist
Implement PeerMentorDetailBLoC event handlers
epic-peer-mentor-detail-screen-bloc-and-assembly-task-005

Implement the PeerMentorDetailBLoC event-driven state machine using flutter_bloc. On LoadPeerMentorDetail, emit loading ...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

critical high backend Tier 3 ⚙ backend specialist
Implement BLoC state rendering in screen widget
epic-peer-mentor-detail-screen-bloc-and-assembly-task-008

Connect PeerMentorDetailScreenWidget to PeerMentorDetailBLoC using BlocBuilder. Render a centered CircularProgressIndica...

BLoC State Management, Aggregation Service & Screen Assembly · Peer Mentor Profile & Status Screen

critical high frontend Tier 6 🎨 frontend specialist
Write widget tests for shared UI atoms
epic-peer-mentor-pause-management-foundation-task-013

Write Flutter widget tests for ExpectedReturnDatePicker, CertificationExpiryWarningBanner, and PauseStatusIndicator. Cov...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

medium low testing Tier 1 🧪 testing specialist
Build Expected Return Date Picker UI widget
epic-peer-mentor-pause-management-foundation-task-009

Implement the ExpectedReturnDatePicker Flutter widget as a reusable date input control. Apply design token styling, enfo...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

high low frontend Tier 0 🎨 frontend specialist
Build Certification Expiry Warning Banner widget
epic-peer-mentor-pause-management-foundation-task-010

Implement the CertificationExpiryWarningBanner Flutter widget that displays a contextual warning when a peer mentor's ce...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

high low frontend Tier 0 🎨 frontend specialist
Build Pause Status Indicator UI widget
epic-peer-mentor-pause-management-foundation-task-011

Implement the PauseStatusIndicator Flutter widget that visually represents a peer mentor's current pause state (active, ...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

high low frontend Tier 0 🎨 frontend specialist
Provision nightly scheduler via Supabase Edge Function and pg_cron
epic-peer-mentor-pause-management-foundation-task-007

Create a Supabase Edge Function that acts as the nightly job scheduler entry point. Configure pg_cron to trigger the fun...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

high medium infrastructure Tier 0 🏗 infrastructure specialist
Build Dynamics 365 portal API client with retry logic
epic-peer-mentor-pause-management-foundation-task-008

Implement the DynamicsPortalClient Dart class for communicating with HLF's Dynamics 365 portal REST API. Include authent...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

high medium integration Tier 1 🔗 integration specialist
Write unit and integration tests for repository layer
epic-peer-mentor-pause-management-foundation-task-012

Write unit tests for PeerMentorStatusRepository and CertificationStatusRepository covering CRUD operations, RPC call con...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

high medium testing Tier 3 🧪 testing specialist
Build Dart repository class for certification status
epic-peer-mentor-pause-management-foundation-task-003

Implement the CertificationStatusRepository Dart class with methods to query, insert, update, and stream certification r...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

critical low backend Tier 2 ⚙ backend specialist
Build Dart repository class for peer mentor status
epic-peer-mentor-pause-management-foundation-task-006

Implement the PeerMentorStatusRepository Dart class with methods for reading current pause status, writing status transi...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

critical medium backend Tier 2 ⚙ backend specialist
Create Supabase tables for certification status data
epic-peer-mentor-pause-management-foundation-task-001

Create the cert_expiry_reminders Supabase database table with all required columns, indexes, and constraints. Define the...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

critical low database Tier 0 🗄 database specialist
Implement RLS policies for certification status table
epic-peer-mentor-pause-management-foundation-task-002

Define and apply Row Level Security policies on the cert_expiry_reminders table to enforce coordinator and admin access ...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

critical medium database Tier 1 🗄 database specialist
Create Supabase tables for peer mentor pause status
epic-peer-mentor-pause-management-foundation-task-004

Create the peer_mentor_status and peer_mentor_status_log Supabase database tables. Define columns for pause state, reaso...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

critical medium database Tier 0 🗄 database specialist
Apply RLS policies and RPC functions for pause status
epic-peer-mentor-pause-management-foundation-task-005

Define RLS policies on peer_mentor_status and peer_mentor_status_log tables. Implement RPC functions for atomic status t...

Data Layer & Infrastructure Foundation · Peer Mentor Pause & Status Management

critical medium database Tier 1 🗄 database specialist
Implement in-app pause notification storage and display
epic-peer-mentor-pause-management-core-workflows-task-011

Extend PauseNotificationService to persist in-app notifications to the notifications table when a pause or reactivation ...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high medium backend Tier 5 ⚙ backend specialist
Build PauseStatusIndicator widget
epic-peer-mentor-pause-management-core-workflows-task-003

Create a reusable widget that visually displays a peer mentor's current pause status. Support three states: active (gree...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high low frontend Tier 0 🎨 frontend specialist
Build ExpectedReturnDatePicker widget
epic-peer-mentor-pause-management-core-workflows-task-004

Implement a date picker widget scoped to future dates for optional return date selection during pause activation. Use Fl...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high low frontend Tier 0 🎨 frontend specialist
Build reactivation flow on PauseActivationScreen
epic-peer-mentor-pause-management-core-workflows-task-008

Extend the PauseActivationScreen to handle the reactivation journey when the current mentor status is paused. Show a rea...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high low frontend Tier 5 🎨 frontend specialist
Add CertificationExpiryWarningBanner to roster screen
epic-peer-mentor-pause-management-core-workflows-task-010

Integrate the CertificationExpiryWarningBanner widget into the CoordinatorPauseRosterScreen. For each mentor with an exp...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high low frontend Tier 5 🎨 frontend specialist
Implement FCM push notification dispatch for pause events
epic-peer-mentor-pause-management-core-workflows-task-012

Integrate FCM push notification dispatch into PauseNotificationService for coordinator-targeted push notifications on pa...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high medium integration Tier 6 🔗 integration specialist
Write unit and integration tests for pause state machine
epic-peer-mentor-pause-management-core-workflows-task-013

Write comprehensive tests for PauseManagementService covering all valid transitions (active→paused, paused→active, any→e...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high medium testing Tier 6 🧪 testing specialist
End-to-end integration test for full pause workflow
epic-peer-mentor-pause-management-core-workflows-task-014

Implement an end-to-end integration test covering the complete pause and reactivation journey: peer mentor activates pau...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

high high testing Tier 7 🧪 testing specialist
Implement PeerMentorStatusRepository data layer
epic-peer-mentor-pause-management-core-workflows-task-002

Build the data access layer for pause status persistence. Implement methods: getPauseStatus(mentorId), savePauseRecord(r...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

critical medium backend Tier 1 ⚙ backend specialist
Implement PauseNotificationService core dispatch logic
epic-peer-mentor-pause-management-core-workflows-task-005

Build the notification dispatch service that resolves coordinator assignments for a given peer mentor and dispatches bot...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

critical medium backend Tier 2 ⚙ backend specialist
Implement PauseManagementService state machine
epic-peer-mentor-pause-management-core-workflows-task-006

Build the core business logic service enforcing the pause state machine with transitions: active→paused (via mentor self...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

critical medium backend Tier 3 ⚙ backend specialist
Define pause status database schema and migrations
epic-peer-mentor-pause-management-core-workflows-task-001

Create the database schema for peer mentor pause status tracking, including the pause_records table with columns for men...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

critical low database Tier 0 🗄 database specialist
Build PauseActivationScreen confirmation flow
epic-peer-mentor-pause-management-core-workflows-task-007

Implement the peer mentor-facing pause activation screen. Display current status, a confirmation prompt explaining impli...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

critical low frontend Tier 4 🎨 frontend specialist
Build CoordinatorPauseRosterScreen mentor list
epic-peer-mentor-pause-management-core-workflows-task-009

Implement the coordinator-facing pause roster screen that displays all assigned peer mentors with inline pause status an...

Core Pause Workflows — Business Logic, UI & Notifications · Peer Mentor Pause & Status Management

critical medium frontend Tier 4 🎨 frontend specialist
Add audit logging for all automated transitions
epic-peer-mentor-pause-management-automated-expiry-task-005

Instrument the CertificationExpiryChecker to write a structured audit log entry for every automated status transition an...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

high medium backend Tier 4 ⚙ backend specialist
Implement retry logic and failure alerting for HLF sync
epic-peer-mentor-pause-management-automated-expiry-task-008

Add robust retry logic to HLFWebsiteSyncService with configurable max attempts and exponential backoff. On final retry e...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

high medium backend Tier 4 ⚙ backend specialist
Add audit logging for all HLF website sync operations
epic-peer-mentor-pause-management-automated-expiry-task-009

Instrument HLFWebsiteSyncService to write a structured audit log entry for every sync attempt, including mentor ID, sync...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

high low backend Tier 5 ⚙ backend specialist
Integration test: expiry checker end-to-end flow
epic-peer-mentor-pause-management-automated-expiry-task-010

Write integration tests covering the full CertificationExpiryChecker pipeline: seed test mentors with certifications at ...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

high high testing Tier 5 🧪 testing specialist
Integration test: HLF website sync end-to-end flow
epic-peer-mentor-pause-management-automated-expiry-task-011

Write integration tests for HLFWebsiteSyncService covering: mentor paused triggers removal from Dynamics portal listing;...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

high high testing Tier 6 🧪 testing specialist
Build expiry scan and auto-transition logic
epic-peer-mentor-pause-management-automated-expiry-task-003

Implement the core scan loop inside CertificationExpiryChecker. For each certification that has passed its expiry date, ...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

critical high backend Tier 2 ⚙ backend specialist
Implement escalating coordinator reminder dispatch
epic-peer-mentor-pause-management-automated-expiry-task-004

Add reminder notification dispatch logic to the CertificationExpiryChecker for the 30-day, 14-day, and 7-day warning thr...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

critical high backend Tier 3 ⚙ backend specialist
Build sync trigger on status change events
epic-peer-mentor-pause-management-automated-expiry-task-007

Wire HLFWebsiteSyncService to listen for mentor status change events (paused, expired_cert, reinstated). On each relevan...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

critical medium backend Tier 3 ⚙ backend specialist
Define certification expiry data schema and queries
epic-peer-mentor-pause-management-automated-expiry-task-001

Design and implement the data access layer for the CertificationExpiryChecker service. Create query methods on the certi...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

critical medium database Tier 0 🗄 database specialist
Implement nightly scheduler trigger for expiry checker
epic-peer-mentor-pause-management-automated-expiry-task-002

Wire the CertificationExpiryChecker into the nightly job scheduler (394-nightly-scheduler). Configure the cron trigger t...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Implement Dynamics portal API integration for HLF sync
epic-peer-mentor-pause-management-automated-expiry-task-006

Build the HLFWebsiteSyncService integration layer that calls the Dynamics portal API (via 395-dynamics-portal-client bui...

Automated Certification Expiry & HLF Website Sync · Peer Mentor Pause & Status Management

critical high integration Tier 0 🔗 integration specialist
Document data layer and notification service API
epic-peer-mentor-pause-foundation-task-010

Write developer documentation for MentorStatusRepository public interface and CoordinatorNotificationService public inte...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

medium low documentation Tier 7 📝 documentor
Implement push notification dispatch for coordinators
epic-peer-mentor-pause-foundation-task-007

Implement CoordinatorNotificationService.dispatchPushNotification(mentorId, event, payload) that resolves coordinator re...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

high medium backend Tier 4 ⚙ backend specialist
Implement in-app notification dispatch for coordinators
epic-peer-mentor-pause-foundation-task-008

Implement CoordinatorNotificationService.dispatchInAppNotification(mentorId, event, payload) that resolves coordinator r...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

high low backend Tier 5 ⚙ backend specialist
Write unit and integration tests for repository and service
epic-peer-mentor-pause-foundation-task-009

Write Flutter unit tests for MentorStatusRepository covering all read/write paths with mocked Supabase client, and integ...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

high medium testing Tier 6 🧪 testing specialist
Implement MentorStatusRepository read methods
epic-peer-mentor-pause-foundation-task-004

Implement the Dart MentorStatusRepository class with read operations: fetchMentorStatus(mentorId), fetchActiveMentorsFor...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

critical medium backend Tier 3 ⚙ backend specialist
Implement MentorStatusRepository write methods
epic-peer-mentor-pause-foundation-task-005

Add write operations to MentorStatusRepository: pauseMentor(mentorId, reason, pauseAt), reactivateMentor(mentorId), and ...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

critical medium backend Tier 4 ⚙ backend specialist
Implement coordinator recipient resolution
epic-peer-mentor-pause-foundation-task-006

Implement the coordinator resolution logic in CoordinatorNotificationService: given a mentor_id, query the chapter membe...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

critical medium backend Tier 3 ⚙ backend specialist
Add mentor status columns to peer_mentors table
epic-peer-mentor-pause-foundation-task-001

Create Supabase migration to add status enum (active, paused, inactive), pause_at timestamp, and pause_reason text colum...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

critical low database Tier 0 🗄 database specialist
Create peer_mentor_status_history audit table
epic-peer-mentor-pause-foundation-task-002

Create Supabase migration for the peer_mentor_status_history table capturing mentor_id, previous_status, new_status, cha...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

critical low database Tier 1 🗄 database specialist
Author RLS policies for mentor status fields
epic-peer-mentor-pause-foundation-task-003

Write and review Supabase Row Level Security policies for the new status, pause_at, and pause_reason columns on peer_men...

Peer Mentor Pause & Reactivation — Data & Notification Foundation · Peer Mentor Pause & Reactivation

critical medium database Tier 2 🗄 database specialist
Implement getMentorsByStatus query for assignment pool filtering
epic-peer-mentor-pause-core-logic-task-006

Add a getMentorsByStatus(status: MentorStatus, chapterId?: string) method to MentorStatusService that returns the list o...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

high low backend Tier 3 ⚙ backend specialist
Integrate CoordinatorNotificationService into status transitions
epic-peer-mentor-pause-core-logic-task-005

Extend MentorStatusService to call CoordinatorNotificationService after every successful status transition. For each tra...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

high medium integration Tier 3 🔗 integration specialist
Implement coordinator notification dispatch in CertificationExpiryJob
epic-peer-mentor-pause-core-logic-task-011

Add the coordinator notification phase to CertificationExpiryJob. After all auto-pauses have been applied, the job must ...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

high medium integration Tier 5 🔗 integration specialist
Write unit tests for MentorStatusService state machine
epic-peer-mentor-pause-core-logic-task-007

Create a comprehensive unit test suite for MentorStatusService covering all valid transitions (active→paused, paused→act...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

high medium testing Tier 4 🧪 testing specialist
Integration test CertificationExpiryJob end-to-end
epic-peer-mentor-pause-core-logic-task-012

Write integration tests for CertificationExpiryJob covering: job correctly identifies only expired-certificate active HL...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

high high testing Tier 6 🧪 testing specialist
Define mentor status state machine types and interfaces
epic-peer-mentor-pause-core-logic-task-001

Define the TypeScript/Dart interfaces and enums for the mentor status state machine. This includes the MentorStatus enum...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

critical low backend Tier 0 ⚙ backend specialist
Implement MentorStatusService core transition methods
epic-peer-mentor-pause-core-logic-task-004

Build the MentorStatusService class with methods pauseMentor(mentorId, reason, actorId), reactivateMentor(mentorId, reas...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

critical medium backend Tier 2 ⚙ backend specialist
Implement auto-pause logic and audit writing in CertificationExpiryJob
epic-peer-mentor-pause-core-logic-task-010

Implement the core processing loop in CertificationExpiryJob that iterates over expired-certification mentors and for ea...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

critical medium backend Tier 4 ⚙ backend specialist
Create update_mentor_status Supabase RPC function
epic-peer-mentor-pause-core-logic-task-002

Implement the update_mentor_status PostgreSQL function as a Supabase RPC. The function must validate the requested trans...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

critical medium database Tier 1 🗄 database specialist
Add database transition guard for invalid status changes
epic-peer-mentor-pause-core-logic-task-003

Implement a PostgreSQL trigger function on the peer_mentors table that enforces the state machine at the database level....

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

critical medium database Tier 1 🗄 database specialist
Implement expired certification mentor query in CertificationExpiryJob
epic-peer-mentor-pause-core-logic-task-009

Implement the database query within CertificationExpiryJob that retrieves all HLF peer mentors whose certification_expir...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

critical medium database Tier 3 🗄 database specialist
Create CertificationExpiryJob Edge Function scaffold
epic-peer-mentor-pause-core-logic-task-008

Scaffold the CertificationExpiryJob as a Supabase Edge Function (Deno/TypeScript). Set up the function entry point, envi...

Peer Mentor Pause & Reactivation — Core Business Logic & Scheduled Jobs · Peer Mentor Pause & Reactivation

critical medium infrastructure Tier 2 🏗 infrastructure specialist
Implement PauseConfirmationDialog widget
epic-peer-mentor-pause-ui-state-task-001

Build the PauseConfirmationDialog modal widget that explains pause consequences to the peer mentor, collects an optional...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 0 🎨 frontend specialist
Add screen-reader semantics to PauseConfirmationDialog
epic-peer-mentor-pause-ui-state-task-002

Annotate PauseConfirmationDialog with Flutter Semantics widgets: role=dialog, labelled-by title, described-by consequenc...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 1 🎨 frontend specialist
Implement PauseStatusBanner coordinator widget
epic-peer-mentor-pause-ui-state-task-003

Build the PauseStatusBanner widget for coordinator-facing mentor list and detail views. It must display paused status, t...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 0 🎨 frontend specialist
Add accessibility semantics to PauseStatusBanner
epic-peer-mentor-pause-ui-state-task-004

Wrap PauseStatusBanner in appropriate Semantics nodes so screen readers announce paused status, timestamp, and reason as...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 1 🎨 frontend specialist
Implement PauseReactivateToggle profile control
epic-peer-mentor-pause-ui-state-task-005

Build the PauseReactivateToggle widget for the peer mentor profile screen. It renders an accessible status badge (Active...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 1 🎨 frontend specialist
Add WCAG 2.2 AA semantics to PauseReactivateToggle
epic-peer-mentor-pause-ui-state-task-006

Annotate PauseReactivateToggle with Semantics: the status badge must have role=status and announce changes via a live re...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 2 🎨 frontend specialist
Define MentorStatusBLoC events and states
epic-peer-mentor-pause-ui-state-task-007

Define the MentorStatusEvent sealed class (PauseMentorEvent, ReactivateMentorEvent) and MentorStatusState sealed class (...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 0 🎨 frontend specialist
Implement MentorStatusBLoC event handlers
epic-peer-mentor-pause-ui-state-task-008

Implement the BLoC event handlers for PauseMentorEvent and ReactivateMentorEvent. Each handler emits Loading, calls Ment...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 1 🎨 frontend specialist
Connect PauseReactivateToggle to MentorStatusBLoC
epic-peer-mentor-pause-ui-state-task-009

Wire PauseReactivateToggle to MentorStatusBLoC using BlocBuilder and BlocListener. The toggle renders based on current s...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 3 🎨 frontend specialist
Connect PauseStatusBanner to MentorStatusBLoC
epic-peer-mentor-pause-ui-state-task-010

Wire PauseStatusBanner on coordinator mentor detail and list views to MentorStatusBLoC state. The banner renders only wh...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low frontend Tier 2 🎨 frontend specialist
Unit test MentorStatusBLoC
epic-peer-mentor-pause-ui-state-task-011

Write bloc_test unit tests for MentorStatusBLoC covering: successful pause flow emitting Loading then Success, successfu...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low testing Tier 2 🧪 testing specialist
Widget tests for all three UI components
epic-peer-mentor-pause-ui-state-task-012

Write flutter_test widget tests for PauseConfirmationDialog (renders consequence text, emits confirmed/cancelled, reason...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low testing Tier 4 🧪 testing specialist
Accessibility audit for pause/reactivation UI
epic-peer-mentor-pause-ui-state-task-013

Run a WCAG 2.2 AA audit across all four components using flutter_accessibility_lint and manual TalkBack/VoiceOver walkth...

Peer Mentor Pause & Reactivation — UI Components & BLoC State Management · Peer Mentor Pause & Reactivation

high low testing Tier 5 🎨 frontend specialist
SummaryCacheRepository Dart implementation
epic-periodic-summaries-foundation-task-008

Implement the SummaryCacheRepository class in Dart that manages read and write operations against the local SQLite cache...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

high low backend Tier 3 ⚙ backend specialist
Cache sync strategy and staleness invalidation logic
epic-periodic-summaries-foundation-task-012

Implement the cache synchronisation logic that coordinates between SummaryPeriodRepository (remote) and SummaryCacheRepo...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

high medium backend Tier 6 ⚙ backend specialist
Local SQLite cache schema for offline summary access
epic-periodic-summaries-foundation-task-007

Design and create the local SQLite table (via drift or sqflite) that mirrors the structure of periodic_summaries for off...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

high low database Tier 1 🗄 database specialist
Unit tests for PeriodCalculatorService
epic-periodic-summaries-foundation-task-010

Write comprehensive flutter_test unit tests covering all methods of PeriodCalculatorService. Include cases for: week bou...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

high low testing Tier 1 🧪 testing specialist
Period boundary calculator core logic
epic-periodic-summaries-foundation-task-003

Implement the PeriodCalculatorService in Dart that computes the exact start and end timestamps for weekly, monthly, and ...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical low backend Tier 0 ⚙ backend specialist
ActivityAggregationRepository Dart implementation
epic-periodic-summaries-foundation-task-005

Implement the ActivityAggregationRepository class in Dart using the Supabase client. It must call the aggregation RPCs d...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical medium backend Tier 3 ⚙ backend specialist
SummaryPeriodRepository Dart implementation
epic-periodic-summaries-foundation-task-006

Implement the SummaryPeriodRepository class in Dart that reads from and writes to the periodic_summaries Supabase table ...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical low backend Tier 2 ⚙ backend specialist
PostgreSQL schema migration for periodic_summaries
epic-periodic-summaries-foundation-task-001

Create and apply a PostgreSQL migration that adds the periodic_summaries table with columns for organisation_id, period_...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical low database Tier 0 🗄 database specialist
Activity aggregation SQL queries and Supabase RPCs
epic-periodic-summaries-foundation-task-004

Write the core Supabase RPC functions (PostgreSQL plpgsql) that aggregate activity records into session counts and total...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical medium database Tier 2 🗄 database specialist
RLS policies for organisation-scoped periodic_summaries
epic-periodic-summaries-foundation-task-002

Define and apply Supabase Row Level Security policies on the periodic_summaries table ensuring that peer mentors can onl...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical low infrastructure Tier 1 🏗 infrastructure specialist
OrgDataIsolationGuard service implementation
epic-periodic-summaries-foundation-task-009

Implement the OrgDataIsolationGuard Dart class that acts as a cross-cutting validation layer. It must verify that any re...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical low infrastructure Tier 4 ⚙ backend specialist
Integration tests for aggregation accuracy and org isolation
epic-periodic-summaries-foundation-task-011

Write integration tests using a local Supabase test instance that seed two organisations with overlapping activity data,...

Periodic Summaries Data Foundation & Period Infrastructure · Periodic Activity Summaries

critical medium testing Tier 5 🧪 testing specialist
Document Summary Pipeline and Scheduler Config
epic-periodic-summaries-core-logic-task-014

Write developer-facing documentation covering the summary generation pipeline architecture, scheduler cron configuration...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

medium low documentation Tier 6 📝 documentor
Implement Period Calculator Service
epic-periodic-summaries-core-logic-task-005

Build the service that computes half-year and quarterly period boundaries from a reference date, identifies the current ...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

high low backend Tier 1 ⚙ backend specialist
Implement Idempotency for Summary Generation
epic-periodic-summaries-core-logic-task-009

Add idempotency control to the summary generation service so that re-triggered runs for an already-completed period are ...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

high medium backend Tier 3 ⚙ backend specialist
Configure Outlier Detection Thresholds
epic-periodic-summaries-core-logic-task-010

Implement configurable threshold management within the outlier detection service, allowing per-organisation and global d...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

high low backend Tier 2 ⚙ backend specialist
Implement Notification Payload Builder for Summaries
epic-periodic-summaries-core-logic-task-012

Extend the push notification dispatcher with summary-specific payload construction logic. Must build personalised notifi...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

high medium backend Tier 3 ⚙ backend specialist
Write Integration Tests for Summary Pipeline
epic-periodic-summaries-core-logic-task-013

Implement end-to-end integration tests covering the full summary generation pipeline: period boundary detection, activit...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

high high testing Tier 5 🧪 testing specialist
Build Push Notification Dispatcher Core
epic-periodic-summaries-core-logic-task-006

Implement the push notification dispatcher service responsible for constructing and dispatching personalised digest noti...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical medium backend Tier 1 ⚙ backend specialist
Implement Outlier Detection Service
epic-periodic-summaries-core-logic-task-007

Build the service that classifies peer mentors as outliers based on configurable thresholds for activity volume. Must su...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical medium backend Tier 1 ⚙ backend specialist
Build Summary Generation Service Core
epic-periodic-summaries-core-logic-task-008

Implement the central orchestration service that drives an organisation-scoped summary generation run: fetches aggregate...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical high backend Tier 2 ⚙ backend specialist
Implement Summary Period Repository
epic-periodic-summaries-core-logic-task-001

Build the data access layer for summary periods, including CRUD operations for period metadata, period boundary calculat...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical low database Tier 0 🗄 database specialist
Implement Summary Cache Repository
epic-periodic-summaries-core-logic-task-002

Create the caching layer for generated summaries, supporting storage and retrieval of pre-computed summary data with cac...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical low database Tier 0 🗄 database specialist
Build Activity Aggregation Repository
epic-periodic-summaries-core-logic-task-003

Implement the repository responsible for querying and aggregating raw activity records across a given period and organis...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical medium database Tier 0 🗄 database specialist
Implement Organisation Data Isolation Guard
epic-periodic-summaries-core-logic-task-004

Create the infrastructure guard that enforces strict organisation-scoped data access during summary generation runs. Mus...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement Summary Scheduler Edge Function
epic-periodic-summaries-core-logic-task-011

Create the Supabase Edge Function that acts as the cron-triggered scheduler for summary generation. Must detect half-yea...

Periodic Summaries Core Logic — Generation, Scheduling, Outlier Detection & Notifications · Periodic Activity Summaries

critical medium infrastructure Tier 4 🏗 infrastructure specialist
Implement Period Comparison Widget base structure
epic-periodic-summaries-ui-task-001

Build the reusable PeriodComparisonWidget Flutter widget that displays side-by-side or stacked period data with directio...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high low frontend Tier 0 🎨 frontend specialist
Add delta indicator and animation to comparison widget
epic-periodic-summaries-ui-task-002

Enhance the PeriodComparisonWidget with animated directional delta indicators. Implement color-coded trend arrows (posit...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high low frontend Tier 1 🎨 frontend specialist
Implement pull-to-refresh and card dismissal logic
epic-periodic-summaries-ui-task-005

Add pull-to-refresh interaction to the PeriodicSummaryCard so peer mentors can trigger a data reload. Implement card dis...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high low frontend Tier 3 🎨 frontend specialist
Implement tap-through navigation to mentor profile
epic-periodic-summaries-ui-task-006

Wire up the PeriodicSummaryCard tap interaction to navigate to the detailed mentor summary or profile screen. Pass the r...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high low frontend Tier 4 🎨 frontend specialist
Implement outlier highlighting in team summary view
epic-periodic-summaries-ui-task-009

Integrate the outlier detection output into the CoordinatorTeamSummaryView to visually highlight mentors who are underpe...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high medium frontend Tier 4 🎨 frontend specialist
Embed PeriodComparisonWidget in all summary views
epic-periodic-summaries-ui-task-010

Integrate the reusable PeriodComparisonWidget into both the PeriodicSummaryCard and the coordinator team mentor detail v...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high low frontend Tier 5 🎨 frontend specialist
Implement WCAG 2.2 AA accessibility across all widgets
epic-periodic-summaries-ui-task-011

Audit and remediate all three widgets (PeriodicSummaryCard, CoordinatorTeamSummaryView, PeriodComparisonWidget) for WCAG...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high medium frontend Tier 6 🎨 frontend specialist
Widget integration tests and golden tests
epic-periodic-summaries-ui-task-012

Write integration and golden tests for all three widgets. Integration tests must cover: card dismissal persists state, p...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

high medium testing Tier 7 🧪 testing specialist
Implement PeriodicSummaryCard BLoC integration
epic-periodic-summaries-ui-task-003

Create the BLoC state management layer for the periodic-summary-card widget. Define PeriodicSummaryCardState (loading, l...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

critical medium frontend Tier 1 🎨 frontend specialist
Build home screen digest card UI layout
epic-periodic-summaries-ui-task-004

Implement the visual layout of the PeriodicSummaryCard widget shown on the peer mentor home screen during active summary...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

critical medium frontend Tier 2 🎨 frontend specialist
Build coordinator team summary view BLoC layer
epic-periodic-summaries-ui-task-007

Create the BLoC for the CoordinatorTeamSummaryView. Define states (loading, loaded with mentor list, error) and events (...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

critical medium frontend Tier 2 🎨 frontend specialist
Build coordinator team summary view UI layout
epic-periodic-summaries-ui-task-008

Implement the CoordinatorTeamSummaryView screen listing all peer mentors with their period summary stats. Each row must ...

Periodic Summaries User Interface — Digest Cards, Coordinator View & Comparison Widget · Periodic Activity Summaries

critical medium frontend Tier 3 🎨 frontend specialist
Dart model: BulkParticipant
epic-proxy-activity-registration-foundation-task-005

Implement the `BulkParticipant` Dart class representing a single peer mentor selected for bulk registration. Fields: pee...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

high low backend Tier 0 ⚙ backend specialist
Dart model: DuplicateConflict
epic-proxy-activity-registration-foundation-task-006

Implement the `DuplicateConflict` Dart class capturing a detected duplicate activity. Fields: conflictingActivityId, att...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

high low backend Tier 0 ⚙ backend specialist
Dart model: BulkRegistrationRequest
epic-proxy-activity-registration-foundation-task-007

Implement the `BulkRegistrationRequest` Dart class that wraps a list of `BulkParticipant` and a shared `ProxyActivityRec...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

high low backend Tier 1 ⚙ backend specialist
Implement BulkRegistrationDefaultsProvider
epic-proxy-activity-registration-foundation-task-010

Implement `BulkRegistrationDefaultsProvider` as a Riverpod StateNotifierProvider that pre-populates form defaults for bu...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

high low backend Tier 2 ⚙ backend specialist
Unit tests: data models and role guard
epic-proxy-activity-registration-foundation-task-011

Write comprehensive unit tests for all four Dart model classes (ProxyActivityRecord, BulkParticipant, DuplicateConflict,...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

high low testing Tier 3 🧪 testing specialist
Integration tests: repository and RPC bulk insert
epic-proxy-activity-registration-foundation-task-012

Write integration tests for `ProxyActivityRepository` against a local Supabase test instance. Verify: single proxy inser...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

high medium testing Tier 4 🧪 testing specialist
Dart model: ProxyActivityRecord
epic-proxy-activity-registration-foundation-task-004

Implement the `ProxyActivityRecord` Dart class with fields: id, registeredBy (coordinator user id), attributedTo (peer m...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

critical low backend Tier 0 ⚙ backend specialist
Implement ProxyActivityRepository
epic-proxy-activity-registration-foundation-task-008

Implement `ProxyActivityRepository` backed by Supabase. Expose: `insertProxyActivity(ProxyActivityRecord)`, `bulkInsert(...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

critical medium backend Tier 2 ⚙ backend specialist
Supabase schema migration: proxy attribution columns
epic-proxy-activity-registration-foundation-task-001

Write and apply a Supabase migration that adds `registered_by` (uuid, NOT NULL, references auth.users) and `attributed_t...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

critical low database Tier 0 🗄 database specialist
Create bulk_register_activities atomic RPC function
epic-proxy-activity-registration-foundation-task-002

Implement a PostgreSQL function `bulk_register_activities(records jsonb[])` that inserts multiple activity rows in a sin...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

critical medium database Tier 1 🗄 database specialist
RLS policy for coordinator proxy inserts
epic-proxy-activity-registration-foundation-task-003

Define a Supabase Row Level Security policy on the activities table that permits INSERT only when the caller holds the c...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

critical low infrastructure Tier 1 🏗 infrastructure specialist
Implement CoordinatorRoleGuard
epic-proxy-activity-registration-foundation-task-009

Implement `CoordinatorRoleGuard` as a Riverpod provider that reads the current user's role from the session/role state a...

Proxy Registration Foundation: Data Models, Repository & Role Guard · Proxy & Bulk Activity Registration

critical low infrastructure Tier 2 ⚙ backend specialist
Build proxy vs self-registered audit query helpers
epic-proxy-activity-registration-core-services-task-006

Add query helper methods to activity-attribution-service that enable audit report generation distinguishing proxy-entere...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

high medium backend Tier 2 ⚙ backend specialist
Document service contracts and error catalogue
epic-proxy-activity-registration-core-services-task-010

Write technical documentation for both domain services covering: method signatures, expected inputs and outputs, the ful...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

high low documentation Tier 5 📝 documentor
Define domain interfaces and conflict metadata models
epic-proxy-activity-registration-core-services-task-001

Define the abstract service interfaces and data transfer objects for both domain services. This includes the DuplicateCh...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical low backend Tier 0 ⚙ backend specialist
Implement single-record duplicate detection query
epic-proxy-activity-registration-core-services-task-002

Implement the core query method on proxy-duplicate-detection-service that accepts a composite key (peer_mentor_id, date,...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical medium backend Tier 1 ⚙ backend specialist
Implement batch-mode duplicate detection
epic-proxy-activity-registration-core-services-task-003

Extend proxy-duplicate-detection-service with a batch variant that accepts a list of composite keys and returns a map of...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical medium backend Tier 2 ⚙ backend specialist
Implement activity attribution service - single record
epic-proxy-activity-registration-core-services-task-004

Implement the core method on activity-attribution-service that takes a proxy activity record and enforces correct field ...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical low backend Tier 1 ⚙ backend specialist
Implement batch attribution enforcement
epic-proxy-activity-registration-core-services-task-005

Extend activity-attribution-service with a batch method that applies attribution enforcement across a list of proxy acti...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical medium backend Tier 2 ⚙ backend specialist
Integrate duplicate detection with attribution service
epic-proxy-activity-registration-core-services-task-007

Wire proxy-duplicate-detection-service and activity-attribution-service together so that the attribution service invokes...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical medium integration Tier 3 ⚙ backend specialist
Unit tests for duplicate detection service
epic-proxy-activity-registration-core-services-task-008

Write comprehensive unit tests for proxy-duplicate-detection-service covering: detection of a single conflict, detection...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical medium testing Tier 3 🧪 testing specialist
Unit tests for activity attribution service
epic-proxy-activity-registration-core-services-task-009

Write unit tests for activity-attribution-service covering: single record attribution success, missing registered_by rai...

Core Business Logic: Duplicate Detection & Activity Attribution Services · Proxy & Bulk Activity Registration

critical medium testing Tier 4 🧪 testing specialist
Emit typed BLoC events from ProxyRegistrationService
epic-proxy-activity-registration-orchestration-task-005

Implement the typed event emission layer in ProxyRegistrationService so that on success it emits ProxyRegistrationSuccee...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

high low backend Tier 10 ⚙ backend specialist
Unit tests for ProxyRegistrationService orchestration paths
epic-proxy-activity-registration-orchestration-task-010

Write comprehensive unit tests for ProxyRegistrationService covering: authorization rejection path (non-coordinator prin...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

high medium testing Tier 11 🧪 testing specialist
Unit tests for BulkRegistrationService orchestration paths
epic-proxy-activity-registration-orchestration-task-011

Write comprehensive unit tests for BulkRegistrationService covering: all-clean participants path (batch insert called on...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

high medium testing Tier 11 🧪 testing specialist
Define ProxyRegistration domain types and result contracts
epic-proxy-activity-registration-orchestration-task-001

Define all strongly-typed Dart classes for ProxyRegistrationRequest, ProxyRegistrationResult, and the discriminated unio...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical low backend Tier 6 ⚙ backend specialist
Implement coordinator role guard enforcement in ProxyRegistrationService
epic-proxy-activity-registration-orchestration-task-002

Wire the CoordinatorRoleGuard into ProxyRegistrationService so that any attempt to invoke proxy registration by a non-co...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical low backend Tier 7 ⚙ backend specialist
Integrate duplicate detection into ProxyRegistrationService
epic-proxy-activity-registration-orchestration-task-003

Call ProxyDuplicateDetectionService inside ProxyRegistrationService prior to any write operation. If a duplicate is dete...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical medium backend Tier 8 ⚙ backend specialist
Implement activity attribution and repository persistence in ProxyRegistrationService
epic-proxy-activity-registration-orchestration-task-004

After a clean duplicate check, invoke ActivityAttributionService to attach coordinator identity as the proxy author to t...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical medium backend Tier 9 ⚙ backend specialist
Define BulkRegistration domain types and batch result contracts
epic-proxy-activity-registration-orchestration-task-006

Define all Dart types for BulkRegistrationRequest (list of participant entries with shared activity data), BulkRegistrat...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical low backend Tier 7 ⚙ backend specialist
Implement per-participant duplicate detection loop in BulkRegistrationService
epic-proxy-activity-registration-orchestration-task-007

For each participant entry in BulkRegistrationRequest, call ProxyDuplicateDetectionService with the participant-specific...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical medium backend Tier 8 ⚙ backend specialist
Implement conflict review gate and approved participant filtering in BulkRegistrationService
epic-proxy-activity-registration-orchestration-task-008

After the duplicate detection loop, if any conflicts exist, return a BulkRegistrationConflictsDetected result containing...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical medium backend Tier 9 ⚙ backend specialist
Implement atomic batch insert via repository in BulkRegistrationService
epic-proxy-activity-registration-orchestration-task-009

For the approved participants, apply ActivityAttributionService to each record, then submit the full set as a single ato...

Registration Orchestration: Proxy & Bulk Registration Services · Proxy & Bulk Activity Registration

critical high backend Tier 10 ⚙ backend specialist
Implement Remove Controls in Participant List
epic-proxy-activity-registration-ui-task-003

Add a swipe-to-dismiss or explicit remove icon button to each participant row in BulkParticipantList. Trigger the onRemo...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

medium low frontend Tier 13 🎨 frontend specialist
Scaffold Bulk Participant List Widget
epic-proxy-activity-registration-ui-task-001

Create the base BulkParticipantList widget as a scrollable Flutter ListView with a typed participant model, empty-state ...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high low frontend Tier 12 🎨 frontend specialist
Add Conflict Badges to Participant List Rows
epic-proxy-activity-registration-ui-task-002

Extend each row in BulkParticipantList to conditionally display a conflict badge when a duplicate activity is detected f...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high low frontend Tier 13 🎨 frontend specialist
Scaffold Proxy Peer Mentor Selector Widget
epic-proxy-activity-registration-ui-task-007

Create the base ProxyPeerMentorSelector widget with a TextField-based typeahead input, dropdown result overlay, and load...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high medium frontend Tier 12 🎨 frontend specialist
Implement Typeahead Search with Chapter Scope Filter
epic-proxy-activity-registration-ui-task-008

Wire the ProxyPeerMentorSelector's text input to a debounced search query that fetches peer mentors filtered to the coor...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high medium frontend Tier 13 🎨 frontend specialist
Add Single-Select and Multi-Select Modes to Selector
epic-proxy-activity-registration-ui-task-009

Extend ProxyPeerMentorSelector to support a mode prop switching between single-select (radio-style, used in proxy-regist...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high medium frontend Tier 14 🎨 frontend specialist
Scaffold Proxy Activity Form Widget
epic-proxy-activity-registration-ui-task-010

Create the ProxyActivityForm widget containing the standard activity fields (type, date, duration, notes). The form shou...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high medium frontend Tier 12 🎨 frontend specialist
Add Coordinator Attribution Banner to Activity Form
epic-proxy-activity-registration-ui-task-011

Implement an inline attribution banner inside ProxyActivityForm that appears when the form is used in proxy context. The...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high low frontend Tier 13 🎨 frontend specialist
Scaffold Proxy Registration Screen with Role Gate
epic-proxy-activity-registration-ui-task-012

Create the ProxyRegistrationScreen route and apply the coordinator role guard at the route level. Render a gated no-acce...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high medium frontend Tier 13 🎨 frontend specialist
Integrate Peer Mentor Selector into Proxy Registration Screen
epic-proxy-activity-registration-ui-task-013

Embed the ProxyPeerMentorSelector (single-select mode) into ProxyRegistrationScreen. Dispatch SelectMentor events to the...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high medium frontend Tier 15 🎨 frontend specialist
Integrate Activity Form and Submission Flow in Proxy Screen
epic-proxy-activity-registration-ui-task-014

Embed ProxyActivityForm into ProxyRegistrationScreen and wire the submit button to dispatch a SubmitProxyActivity event ...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high medium frontend Tier 16 🎨 frontend specialist
Scaffold Bulk Registration Screen with Role Gate
epic-proxy-activity-registration-ui-task-015

Create the BulkRegistrationScreen route with coordinator role guard. Render the screen scaffold (AppBar, two-section lay...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high high frontend Tier 14 🎨 frontend specialist
Implement Multi-Mentor Selection in Bulk Registration Screen
epic-proxy-activity-registration-ui-task-016

Embed ProxyPeerMentorSelector in multi-select mode into BulkRegistrationScreen. As mentors are selected, add them to the...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high high frontend Tier 15 🎨 frontend specialist
Wire Conflict Badges and Batch Submission in Bulk Screen
epic-proxy-activity-registration-ui-task-017

Connect per-participant conflict state from the BLoC to BulkParticipantList conflict badges in BulkRegistrationScreen. I...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

high high frontend Tier 16 🎨 frontend specialist
Scaffold Duplicate Warning Dialog Widget
epic-proxy-activity-registration-ui-task-004

Create the DuplicateWarningDialog as a Flutter modal (AlertDialog or custom BottomSheet) with a defined layout container...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

critical low frontend Tier 12 🎨 frontend specialist
Implement Side-by-Side Conflict Detail Panel
epic-proxy-activity-registration-ui-task-005

Build the two-column conflict comparison layout inside DuplicateWarningDialog showing the incoming activity alongside th...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

critical medium frontend Tier 13 🎨 frontend specialist
Add Cancel and Override Actions to Warning Dialog
epic-proxy-activity-registration-ui-task-006

Implement Cancel (dismiss dialog, return to form) and Override (confirm submission despite conflict) action buttons insi...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

critical low frontend Tier 14 🎨 frontend specialist
Implement Proxy Registration BLoC with Full State Machine
epic-proxy-activity-registration-ui-task-018

Build ProxyRegistrationBloc using the flutter_bloc package to manage all proxy and bulk registration states: initial loa...

User Interface & State Management: Screens, Widgets & BLoC · Proxy & Bulk Activity Registration

critical high frontend Tier 17 🎨 frontend specialist
Initialize default notification preferences on first login
epic-push-notification-delivery-foundation-task-012

In NotificationPreferencesRepository, implement initializeDefaultPreferences(userId, orgId) that checks whether a prefer...

Notification Infrastructure Foundation · Push Notification Delivery

high low backend Tier 3 ⚙ backend specialist
Implement platform permission rationale dialogs
epic-push-notification-delivery-foundation-task-011

Build the pre-permission rationale dialog shown before the OS permission prompt on both iOS and Android. The dialog must...

Notification Infrastructure Foundation · Push Notification Delivery

high low frontend Tier 2 🎨 frontend specialist
Configure flutter_local_notifications accessibility channels
epic-push-notification-delivery-foundation-task-006

Set up flutter_local_notifications with named Android notification channels: activity_reminders (importance: high, sound...

Notification Infrastructure Foundation · Push Notification Delivery

high low infrastructure Tier 0 🏗 infrastructure specialist
Test notification infrastructure end-to-end
epic-push-notification-delivery-foundation-task-014

Write unit tests for NotificationPreferencesRepository (CRUD, default init, RLS edge cases), FCMTokenManager (registrati...

Notification Infrastructure Foundation · Push Notification Delivery

high medium testing Tier 5 🧪 testing specialist
Implement NotificationPreferencesRepository
epic-push-notification-delivery-foundation-task-004

Build the NotificationPreferencesRepository Dart class with methods: getPreferences(userId), updatePreference(userId, ca...

Notification Infrastructure Foundation · Push Notification Delivery

critical low backend Tier 2 ⚙ backend specialist
Implement NotificationRepository base layer
epic-push-notification-delivery-foundation-task-005

Build the NotificationRepository Dart class with methods: getNotifications(userId, {limit, offset}), markAsRead(notifica...

Notification Infrastructure Foundation · Push Notification Delivery

critical medium backend Tier 2 ⚙ backend specialist
Implement FCM token registration on auth sign-in
epic-push-notification-delivery-foundation-task-007

In the FCMTokenManager, implement registerTokenOnSignIn(userId) that retrieves the current FCM token via FirebaseMessagi...

Notification Infrastructure Foundation · Push Notification Delivery

critical medium backend Tier 2 ⚙ backend specialist
Implement FCM token rotation and revocation lifecycle
epic-push-notification-delivery-foundation-task-008

In FCMTokenManager, implement onTokenRefresh listener via FirebaseMessaging.instance.onTokenRefresh that updates the tok...

Notification Infrastructure Foundation · Push Notification Delivery

critical medium backend Tier 3 ⚙ backend specialist
Create notification_preferences Supabase table schema
epic-push-notification-delivery-foundation-task-001

Define and migrate the notification_preferences table in Supabase with columns for user_id, org_id, category (activity_r...

Notification Infrastructure Foundation · Push Notification Delivery

critical low database Tier 0 🗄 database specialist
Create fcm_tokens Supabase table schema
epic-push-notification-delivery-foundation-task-002

Define and migrate the fcm_tokens table in Supabase with columns for user_id, token (text), platform (ios/android), devi...

Notification Infrastructure Foundation · Push Notification Delivery

critical low database Tier 0 🗄 database specialist
Implement RLS policies for notification tables
epic-push-notification-delivery-foundation-task-003

Write and apply Row Level Security policies for both notification_preferences and fcm_tokens tables. Users may only read...

Notification Infrastructure Foundation · Push Notification Delivery

critical medium database Tier 1 🗄 database specialist
Implement iOS notification permission request flow
epic-push-notification-delivery-foundation-task-009

In NotificationPermissionManager, implement requestPermission() for iOS using firebase_messaging's requestPermission() w...

Notification Infrastructure Foundation · Push Notification Delivery

critical low frontend Tier 1 🎨 frontend specialist
Implement Android notification permission request flow
epic-push-notification-delivery-foundation-task-010

In NotificationPermissionManager, implement Android 13+ POST_NOTIFICATIONS permission request using permission_handler p...

Notification Infrastructure Foundation · Push Notification Delivery

critical low frontend Tier 1 🎨 frontend specialist
Wire permission manager to FCM token registration
epic-push-notification-delivery-foundation-task-013

Integrate NotificationPermissionManager with FCMTokenManager so that granting permission automatically triggers FCM toke...

Notification Infrastructure Foundation · Push Notification Delivery

critical medium integration Tier 4 🔗 integration specialist
Document Notification Pipeline Architecture
epic-push-notification-delivery-engine-task-016

Produce developer documentation covering the end-to-end notification delivery architecture: FCM token lifecycle, trigger...

Push Notification Delivery Engine · Push Notification Delivery

medium low documentation Tier 6 📝 documentor
Implement Notification Permission Manager
epic-push-notification-delivery-engine-task-005

Create the NotificationPermissionManager service that requests iOS/Android notification permissions at first app launch,...

Push Notification Delivery Engine · Push Notification Delivery

high low backend Tier 1 ⚡ fullstack developer
Implement Preference-Aware Dispatch Filtering
epic-push-notification-delivery-engine-task-013

Extend NotificationTriggerService to query notification_preferences before each FCM dispatch. If a user has opted out of...

Push Notification Delivery Engine · Push Notification Delivery

high medium backend Tier 4 ⚙ backend specialist
Implement Notification Persistence on Receipt
epic-push-notification-delivery-engine-task-012

Extend PushNotificationService to persist each received notification (foreground, background, and terminated) to the Not...

Push Notification Delivery Engine · Push Notification Delivery

high medium frontend Tier 4 ⚡ fullstack developer
Configure Notification Accessibility Settings
epic-push-notification-delivery-engine-task-003

Implement NotificationAccessibilityConfiguration that maps notification categories to accessible semantic labels, provid...

Push Notification Delivery Engine · Push Notification Delivery

high low infrastructure Tier 0 🏗 infrastructure specialist
Deep Link Handler Unit and Route Tests
epic-push-notification-delivery-engine-task-015

Write unit tests for NotificationDeepLinkHandler covering: valid payload resolves correct go_router route, missing resou...

Push Notification Delivery Engine · Push Notification Delivery

high medium testing Tier 5 🧪 testing specialist
Implement Notification Deep Link Handler
epic-push-notification-delivery-engine-task-006

Build the NotificationDeepLinkHandler service that parses FCM payload data fields to resolve a go_router route path, val...

Push Notification Delivery Engine · Push Notification Delivery

critical medium backend Tier 2 ⚡ fullstack developer
Implement Supabase Edge Function Trigger Service
epic-push-notification-delivery-engine-task-009

Create the NotificationTriggerService Supabase Edge Function that listens to database change events (INSERT on assignmen...

Push Notification Delivery Engine · Push Notification Delivery

critical high backend Tier 2 ⚙ backend specialist
Implement Role-Aware Payload Construction in Trigger Service
epic-push-notification-delivery-engine-task-010

Extend NotificationTriggerService to build role-differentiated FCM payloads: peer mentor notifications include their spe...

Push Notification Delivery Engine · Push Notification Delivery

critical medium backend Tier 3 ⚙ backend specialist
Implement Notification Preferences Repository
epic-push-notification-delivery-engine-task-001

Create the NotificationPreferencesRepository data layer that reads and writes per-user per-category notification opt-in/...

Push Notification Delivery Engine · Push Notification Delivery

critical low database Tier 0 🗄 database specialist
Implement Notification Repository
epic-push-notification-delivery-engine-task-002

Create the NotificationRepository data layer that stores received notification records in Supabase with fields for notif...

Push Notification Delivery Engine · Push Notification Delivery

critical medium database Tier 0 🗄 database specialist
Initialize PushNotificationService BLoC and FCM
epic-push-notification-delivery-engine-task-007

Create the PushNotificationService BLoC skeleton that initializes firebase_messaging and flutter_local_notifications on ...

Push Notification Delivery Engine · Push Notification Delivery

critical high frontend Tier 3 🎨 frontend specialist
Implement Foreground Notification Display
epic-push-notification-delivery-engine-task-008

Extend PushNotificationService to display local notifications when the app is in the foreground using flutter_local_noti...

Push Notification Delivery Engine · Push Notification Delivery

critical medium frontend Tier 4 🎨 frontend specialist
Implement Cold-Start Deep Link Navigation
epic-push-notification-delivery-engine-task-011

Extend NotificationDeepLinkHandler to handle cold-start navigation where the app was terminated when the user tapped the...

Push Notification Delivery Engine · Push Notification Delivery

critical medium frontend Tier 4 🎨 frontend specialist
Implement FCM Token Manager
epic-push-notification-delivery-engine-task-004

Create the FCMTokenManager infrastructure service that retrieves the device FCM registration token via firebase_messagin...

Push Notification Delivery Engine · Push Notification Delivery

critical medium infrastructure Tier 1 🏗 infrastructure specialist
End-to-End Integration Test: Notification Pipeline
epic-push-notification-delivery-engine-task-014

Write integration tests covering the full notification pipeline: FCM token registration, trigger service dispatch for ne...

Push Notification Delivery Engine · Push Notification Delivery

critical high testing Tier 5 🧪 testing specialist
Configure Notification Accessibility Settings
epic-push-notification-delivery-ui-task-003

Set up the NotificationAccessibilityConfig infrastructure layer that defines merged VoiceOver and TalkBack semantic labe...

Notification Centre UI and User Controls · Push Notification Delivery

medium low infrastructure Tier 0 🎨 frontend specialist
Implement Notification Permission Manager
epic-push-notification-delivery-ui-task-005

Create the NotificationPermissionManager service that requests OS-level push notification permission on first use, reads...

Notification Centre UI and User Controls · Push Notification Delivery

high low backend Tier 1 ⚙ backend specialist
Implement Notification Deep Link Handler
epic-push-notification-delivery-ui-task-006

Build the NotificationDeepLinkHandler service that parses FCM payload metadata to extract deep-link targets (activity de...

Notification Centre UI and User Controls · Push Notification Delivery

high medium backend Tier 1 ⚙ backend specialist
Implement Notification Trigger Service
epic-push-notification-delivery-ui-task-009

Create the NotificationTriggerService that reads user preferences from NotificationPreferencesRepository and FCM token f...

Notification Centre UI and User Controls · Push Notification Delivery

high high backend Tier 1 ⚙ backend specialist
Implement Notification Preferences Repository
epic-push-notification-delivery-ui-task-001

Create the NotificationPreferencesRepository data layer that persists per-category notification opt-in/opt-out preferenc...

Notification Centre UI and User Controls · Push Notification Delivery

high low database Tier 0 ⚙ backend specialist
Implement Notification Repository with Realtime
epic-push-notification-delivery-ui-task-002

Build the NotificationRepository data layer that fetches paginated notification history from Supabase, supports mark-as-...

Notification Centre UI and User Controls · Push Notification Delivery

high medium database Tier 0 ⚙ backend specialist
Build NotificationListItemWidget Reusable Card
epic-push-notification-delivery-ui-task-007

Implement the NotificationListItemWidget as a stateless Flutter widget displaying notification icon, title, body preview...

Notification Centre UI and User Controls · Push Notification Delivery

high low frontend Tier 2 🎨 frontend specialist
Build NotificationSettingsScreen with Category Toggles
epic-push-notification-delivery-ui-task-010

Implement the NotificationSettingsScreen displaying per-category toggle switches (activity reminders, certification expi...

Notification Centre UI and User Controls · Push Notification Delivery

high low frontend Tier 2 🎨 frontend specialist
Build NotificationBadgeWidget with Realtime Count
epic-push-notification-delivery-ui-task-011

Implement the NotificationBadgeWidget as a small overlay badge on the bottom navigation Notifications tab that subscribe...

Notification Centre UI and User Controls · Push Notification Delivery

high low frontend Tier 1 🎨 frontend specialist
Build NotificationCenterScreen with Full History
epic-push-notification-delivery-ui-task-012

Implement the full-screen NotificationCenterScreen displaying paginated notification history using NotificationListItemW...

Notification Centre UI and User Controls · Push Notification Delivery

high medium frontend Tier 3 🎨 frontend specialist
Build FCM Token Manager
epic-push-notification-delivery-ui-task-004

Implement the FCMTokenManager infrastructure component that registers and refreshes Firebase Cloud Messaging device toke...

Notification Centre UI and User Controls · Push Notification Delivery

high medium infrastructure Tier 0 🏗 infrastructure specialist
Implement Push Notification Service
epic-push-notification-delivery-ui-task-008

Build the PushNotificationService that integrates FCMTokenManager and NotificationDeepLinkHandler to handle incoming FCM...

Notification Centre UI and User Controls · Push Notification Delivery

critical high backend Tier 2 ⚙ backend specialist
Write unit tests for LocalStorageAdapter and PreferencesStore
epic-quick-activity-registration-data-infrastructure-task-008

Write unit tests for LocalStorageAdapter using SharedPreferences.setMockInitialValues. Cover read/write/delete/clear ope...

Data & Infrastructure Foundation · Quick Activity Registration

medium low testing Tier 2 🧪 testing specialist
Implement RegistrationPreferencesStore
epic-quick-activity-registration-data-infrastructure-task-004

Implement RegistrationPreferencesStore on top of LocalStorageAdapter. Expose getLastUsedActivityTypeId() → Future<String...

Data & Infrastructure Foundation · Quick Activity Registration

high low backend Tier 1 ⚙ backend specialist
Configure Riverpod providers for data layer
epic-quick-activity-registration-data-infrastructure-task-006

Define Riverpod providers for all data layer components: localStorageAdapterProvider, supabaseActivityClientProvider (us...

Data & Infrastructure Foundation · Quick Activity Registration

high low backend Tier 3 ⚙ backend specialist
Integration smoke test and provider wiring validation
epic-quick-activity-registration-data-infrastructure-task-010

Write an integration-level smoke test that boots the full Riverpod provider graph (with a real SharedPreferences mock an...

Data & Infrastructure Foundation · Quick Activity Registration

high medium integration Tier 4 🧪 testing specialist
Write unit tests for SupabaseActivityClient
epic-quick-activity-registration-data-infrastructure-task-007

Write unit tests for SupabaseActivityClient using a mocked Supabase client. Cover: successful insert returns mapped Acti...

Data & Infrastructure Foundation · Quick Activity Registration

high low testing Tier 2 🧪 testing specialist
Implement SupabaseActivityClient with typed queries
epic-quick-activity-registration-data-infrastructure-task-003

Implement the SupabaseActivityClient wrapping the Supabase Flutter SDK. Provide typed methods: insertActivity(ActivityRe...

Data & Infrastructure Foundation · Quick Activity Registration

critical low api Tier 1 🔌 api specialist
Define ActivityRecord data model and Dart types
epic-quick-activity-registration-data-infrastructure-task-001

Define the ActivityRecord Dart class with all required fields (id, activityTypeId, date, durationMinutes, notes, peerId,...

Data & Infrastructure Foundation · Quick Activity Registration

critical low backend Tier 0 ⚙ backend specialist
Implement ActivityRepository with optimistic insert pattern
epic-quick-activity-registration-data-infrastructure-task-005

Implement ActivityRepository as the central data access object. The core method is insertActivity(ActivityRecord draft) ...

Data & Infrastructure Foundation · Quick Activity Registration

critical medium backend Tier 2 ⚙ backend specialist
Implement LocalStorageAdapter with SharedPreferences
epic-quick-activity-registration-data-infrastructure-task-002

Implement the LocalStorageAdapter class wrapping Flutter's SharedPreferences (or Hive for structured data). Expose typed...

Data & Infrastructure Foundation · Quick Activity Registration

critical low infrastructure Tier 0 🏗 infrastructure specialist
Write unit tests for ActivityRepository optimistic insert
epic-quick-activity-registration-data-infrastructure-task-009

Write unit tests for ActivityRepository focusing on the optimistic insert Stream contract: verify first emission has a '...

Data & Infrastructure Foundation · Quick Activity Registration

critical medium testing Tier 3 🧪 testing specialist
Persist last-used activity type after registration
epic-quick-activity-registration-business-logic-task-003

Add saveLastUsedActivityType(String activityTypeId) to RegistrationDefaultsManager that writes the ID to RegistrationPre...

Business Logic & Wizard State Management · Quick Activity Registration

high low backend Tier 2 ⚙ backend specialist
Unit test RegistrationDefaultsManager and ActivityRegistrationService
epic-quick-activity-registration-business-logic-task-011

Write unit tests for RegistrationDefaultsManager covering: first-run fallback defaults, reading persisted last-used type...

Business Logic & Wizard State Management · Quick Activity Registration

high medium testing Tier 3 🧪 testing specialist
Unit test ActivityRegistrationCubit state machine
epic-quick-activity-registration-business-logic-task-012

Write unit tests for ActivityRegistrationCubit using bloc_test. Cover: initialization emits correct pre-filled state, st...

Business Logic & Wizard State Management · Quick Activity Registration

high medium testing Tier 5 🧪 testing specialist
Define RegistrationDefaults data model and interfaces
epic-quick-activity-registration-business-logic-task-001

Define the Dart data classes and interfaces for RegistrationDefaults, including today's date, 30-minute default duration...

Business Logic & Wizard State Management · Quick Activity Registration

critical low backend Tier 0 ⚙ backend specialist
Implement RegistrationDefaultsManager with preference persistence
epic-quick-activity-registration-business-logic-task-002

Implement the concrete RegistrationDefaultsManager class that reads from and writes to RegistrationPreferencesStore. It ...

Business Logic & Wizard State Management · Quick Activity Registration

critical low backend Tier 1 ⚙ backend specialist
Define ActivityRegistrationPayload and validation rules
epic-quick-activity-registration-business-logic-task-004

Create the ActivityRegistrationPayload value object containing all required fields: activity type ID, date, duration in ...

Business Logic & Wizard State Management · Quick Activity Registration

critical low backend Tier 0 ⚙ backend specialist
Implement compensation eligibility rules engine
epic-quick-activity-registration-business-logic-task-005

Implement the organisation-specific compensation eligibility logic inside ActivityRegistrationService. Rules must determ...

Business Logic & Wizard State Management · Quick Activity Registration

critical medium backend Tier 1 ⚙ backend specialist
Implement ActivityRegistrationService submit with optimistic state
epic-quick-activity-registration-business-logic-task-006

Implement the primary submitRegistration(payload) method in ActivityRegistrationService. The method must: (1) validate t...

Business Logic & Wizard State Management · Quick Activity Registration

critical medium backend Tier 2 ⚙ backend specialist
Define ActivityRegistrationCubit states and events
epic-quick-activity-registration-business-logic-task-007

Define the sealed class hierarchy for ActivityRegistrationCubit states: ActivityRegistrationInitial, ActivityRegistratio...

Business Logic & Wizard State Management · Quick Activity Registration

critical low backend Tier 1 ⚙ backend specialist
Implement ActivityRegistrationCubit initialization with defaults
epic-quick-activity-registration-business-logic-task-008

Implement the Cubit constructor and initializeWithDefaults() async method that calls RegistrationDefaultsManager.getDefa...

Business Logic & Wizard State Management · Quick Activity Registration

critical low backend Tier 2 ⚙ backend specialist
Implement step advancement and per-field update methods
epic-quick-activity-registration-business-logic-task-009

Implement field mutation methods on ActivityRegistrationCubit: updateActivityType, updateDate, updateDuration, updateNot...

Business Logic & Wizard State Management · Quick Activity Registration

critical medium backend Tier 3 ⚙ backend specialist
Implement Cubit submit flow with optimistic confirmation
epic-quick-activity-registration-business-logic-task-010

Implement submitRegistration() on ActivityRegistrationCubit. It must emit ActivityRegistrationSubmitting, call ActivityR...

Business Logic & Wizard State Management · Quick Activity Registration

critical medium backend Tier 4 ⚙ backend specialist
Implement NotesStep with speech-to-text
epic-quick-activity-registration-wizard-ui-task-005

Build the optional NotesStep widget with a multi-line text field and an OS speech-to-text microphone button. The field m...

Registration Wizard UI & Confirmation · Quick Activity Registration

medium low frontend Tier 0 🎨 frontend specialist
Implement step transition animations
epic-quick-activity-registration-wizard-ui-task-009

Add animated forward and backward step transitions inside ActivityRegistrationBottomSheet using AnimatedSwitcher or Page...

Registration Wizard UI & Confirmation · Quick Activity Registration

medium low frontend Tier 3 🎨 frontend specialist
Implement auto-dismiss on confirmation view
epic-quick-activity-registration-wizard-ui-task-013

After the RegistrationConfirmationView is shown, start a 3-second auto-dismiss timer that closes the bottom sheet. Provi...

Registration Wizard UI & Confirmation · Quick Activity Registration

medium low frontend Tier 3 🎨 frontend specialist
Build RegistrationConfirmationView widget
epic-quick-activity-registration-wizard-ui-task-001

Implement the RegistrationConfirmationView widget with a prominent success illustration, activity summary (type, date, d...

Registration Wizard UI & Confirmation · Quick Activity Registration

high low frontend Tier 0 🎨 frontend specialist
Implement ActivityTypeStep chip selector
epic-quick-activity-registration-wizard-ui-task-002

Build the ActivityTypeStep widget displaying selectable activity-type chips. The last-used activity type must be pre-sel...

Registration Wizard UI & Confirmation · Quick Activity Registration

high low frontend Tier 0 🎨 frontend specialist
Implement DateStep with calendar and chips
epic-quick-activity-registration-wizard-ui-task-003

Build the DateStep widget with today's date pre-filled, recent-date quick-select chips (yesterday, 2 days ago), and a ca...

Registration Wizard UI & Confirmation · Quick Activity Registration

high low frontend Tier 0 🎨 frontend specialist
Implement DurationStep with preset chips
epic-quick-activity-registration-wizard-ui-task-004

Build the DurationStep widget with duration preset chips (15 min, 30 min, 45 min, 60 min, 90 min, 120 min) defaulting to...

Registration Wizard UI & Confirmation · Quick Activity Registration

high low frontend Tier 0 🎨 frontend specialist
Implement pre-fill defaults from last registration
epic-quick-activity-registration-wizard-ui-task-010

On bottom sheet open, load the user's last-used activity type and duration from the registration preferences store and p...

Registration Wizard UI & Confirmation · Quick Activity Registration

high low frontend Tier 2 🎨 frontend specialist
Implement focus management across wizard steps
epic-quick-activity-registration-wizard-ui-task-012

Ensure focus is programmatically moved to the first interactive element of each step when it becomes active, and returne...

Registration Wizard UI & Confirmation · Quick Activity Registration

high low frontend Tier 4 🎨 frontend specialist
Write widget tests for all step components
epic-quick-activity-registration-wizard-ui-task-014

Write flutter_test widget tests for ActivityTypeStep, DateStep, DurationStep, NotesStep, and RegistrationConfirmationVie...

Registration Wizard UI & Confirmation · Quick Activity Registration

high medium testing Tier 4 🧪 testing specialist
Define ActivityRegistrationCubit state model
epic-quick-activity-registration-wizard-ui-task-006

Define the Cubit state class covering all wizard fields (activityTypeId, date, durationMinutes, notes), loading/success/...

Registration Wizard UI & Confirmation · Quick Activity Registration

critical low frontend Tier 0 🎨 frontend specialist
Wire steps to ActivityRegistrationCubit
epic-quick-activity-registration-wizard-ui-task-007

Connect ActivityTypeStep, DateStep, DurationStep, and NotesStep to the ActivityRegistrationCubit using BlocBuilder. Each...

Registration Wizard UI & Confirmation · Quick Activity Registration

critical medium frontend Tier 1 🎨 frontend specialist
Build ActivityRegistrationBottomSheet container
epic-quick-activity-registration-wizard-ui-task-008

Implement the ActivityRegistrationBottomSheet as a DraggableScrollableSheet hosting all wizard steps. Manage animated st...

Registration Wizard UI & Confirmation · Quick Activity Registration

critical medium frontend Tier 2 🎨 frontend specialist
Add WCAG 2.2 AA semantics to all steps
epic-quick-activity-registration-wizard-ui-task-011

Audit and annotate every interactive element across all five step widgets with Flutter Semantics: labels, hints, roles (...

Registration Wizard UI & Confirmation · Quick Activity Registration

critical medium frontend Tier 3 🎨 frontend specialist
Run accessibility audit on complete wizard flow
epic-quick-activity-registration-wizard-ui-task-015

Execute a full accessibility audit of the assembled wizard using Flutter's SemanticsChecker and manual TalkBack/VoiceOve...

Registration Wizard UI & Confirmation · Quick Activity Registration

critical medium testing Tier 5 🧪 testing specialist
Receipt foundation API contracts documentation
epic-receipt-capture-and-attachment-foundation-task-018

Write developer documentation covering the public contracts of all five foundation components: ReceiptImagePickerIntegra...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

medium low documentation Tier 5 📝 documentor
ReceiptImagePicker unit and mock tests
epic-receipt-capture-and-attachment-foundation-task-010

Write unit tests for the ReceiptImagePickerIntegration using a mock implementation of the abstract interface. Verify tha...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

medium low testing Tier 2 🧪 testing specialist
Org/user/claim scoped path builder utility
epic-receipt-capture-and-attachment-foundation-task-006

Extract a pure ReceiptStoragePathBuilder utility class that constructs and parses the org/user/claim storage path from s...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high low backend Tier 1 ⚙ backend specialist
Configurable compression quality settings per org
epic-receipt-capture-and-attachment-foundation-task-015

Extend ReceiptImageCompressor to accept an OrgCompressionConfig that allows overriding max dimension, JPEG quality, and ...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high low backend Tier 2 ⚙ backend specialist
ReceiptImagePicker abstraction interface definition
epic-receipt-capture-and-attachment-foundation-task-008

Define the ReceiptImagePickerIntegration abstract class with a pickFromGallery() method and a pickFromCamera() method, b...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high low integration Tier 0 🔗 integration specialist
iOS and Android image picker platform implementations
epic-receipt-capture-and-attachment-foundation-task-009

Implement concrete iOS and Android classes conforming to the ReceiptImagePickerIntegration interface using the image_pic...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high low integration Tier 1 🔗 integration specialist
ClaimReceiptRepository unit tests
epic-receipt-capture-and-attachment-foundation-task-003

Write flutter_test unit tests for all ClaimReceiptRepository methods using an in-memory SQLite database. Cover insert, q...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high low testing Tier 2 🧪 testing specialist
ReceiptStorageRepository integration tests
epic-receipt-capture-and-attachment-foundation-task-007

Write integration tests for ReceiptStorageRepository against a Supabase test environment. Cover upload of a small JPEG b...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high medium testing Tier 2 🧪 testing specialist
ReceiptThresholdValidator unit tests
epic-receipt-capture-and-attachment-foundation-task-013

Write comprehensive unit tests for ReceiptThresholdValidator covering: claim exactly at threshold (boundary condition), ...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high low testing Tier 2 🧪 testing specialist
ReceiptImageCompressor unit tests with fixture images
epic-receipt-capture-and-attachment-foundation-task-016

Write flutter_test unit tests for ReceiptImageCompressor using bundled fixture JPEG images of known dimensions and file ...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high medium testing Tier 3 🧪 testing specialist
End-to-end receipt upload flow integration test
epic-receipt-capture-and-attachment-foundation-task-017

Write an integration test that exercises the full receipt foundation stack: pick raw bytes via mock ReceiptImagePickerIn...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

high medium testing Tier 4 🧪 testing specialist
ClaimReceiptRepository CRUD interface and implementation
epic-receipt-capture-and-attachment-foundation-task-002

Implement the ClaimReceiptRepository class with methods for inserting a new receipt association, querying all receipts b...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

critical low backend Tier 1 ⚙ backend specialist
ReceiptStorageRepository upload and signed URL methods
epic-receipt-capture-and-attachment-foundation-task-005

Implement the ReceiptStorageRepository class with methods for uploading a compressed image Uint8List to the Supabase Sto...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

critical medium backend Tier 1 ⚙ backend specialist
ReceiptThresholdValidator service implementation
epic-receipt-capture-and-attachment-foundation-task-012

Implement the ReceiptThresholdValidator service with a requiresReceipt(double amountNok, String orgId) method that retur...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

critical low backend Tier 1 ⚙ backend specialist
Client-side image compression pipeline implementation
epic-receipt-capture-and-attachment-foundation-task-014

Implement the ReceiptImageCompressor service that accepts raw image bytes and a target quality configuration, applies JP...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

critical medium backend Tier 1 ⚙ backend specialist
SQLite schema for claim-receipt association table
epic-receipt-capture-and-attachment-foundation-task-001

Design and implement the SQLite database schema for the claim_receipt_attachments table, including columns for claim_id,...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

critical low database Tier 0 🗄 database specialist
Org receipt threshold config data model and repository
epic-receipt-capture-and-attachment-foundation-task-011

Define the OrgReceiptThresholdConfig data model containing the receipt_required_threshold_nok field (default 100 NOK). I...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

critical low database Tier 0 🗄 database specialist
Supabase Storage bucket setup with RLS policies
epic-receipt-capture-and-attachment-foundation-task-004

Configure the Supabase Storage bucket for receipt images using the org/user/claim-scoped path strategy: receipts/{org_id...

Receipt Storage Foundation and Image Processing · Receipt Capture and Attachment

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Build ReceiptThumbnailPreview widget
epic-receipt-capture-and-attachment-core-logic-task-006

Implement the ReceiptThumbnailPreview Flutter widget that displays a compressed preview image of an attached receipt wit...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

medium low frontend Tier 1 🎨 frontend specialist
Implement ReceiptThresholdValidator service
epic-receipt-capture-and-attachment-core-logic-task-004

Create the ReceiptThresholdValidator service that evaluates whether an expense claim amount exceeds the 100 kr threshold...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

high low backend Tier 0 ⚙ backend specialist
Implement ReceiptImageCompressor service
epic-receipt-capture-and-attachment-core-logic-task-005

Build the ReceiptImageCompressor service that performs client-side JPEG compression of captured receipt images before up...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

high medium backend Tier 0 ⚙ backend specialist
Implement ReceiptCameraSheet accessibility semantics
epic-receipt-capture-and-attachment-core-logic-task-010

Add comprehensive VoiceOver and TalkBack accessibility support to ReceiptCameraSheet. Assign Semantics labels: 'Attach r...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

high medium frontend Tier 3 🎨 frontend specialist
Implement sheet dismissal and cancellation handling
epic-receipt-capture-and-attachment-core-logic-task-011

Handle all ReceiptCameraSheet dismissal scenarios: user swipes down, taps backdrop, presses system back button, or taps ...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

high low frontend Tier 3 🎨 frontend specialist
Build ReceiptImagePickerIntegration infrastructure adapter
epic-receipt-capture-and-attachment-core-logic-task-003

Implement the ReceiptImagePickerIntegration infrastructure adapter wrapping the image_picker Flutter plugin. Expose pick...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

high low infrastructure Tier 0 🏗 infrastructure specialist
Write unit and widget tests for receipt attachment flow
epic-receipt-capture-and-attachment-core-logic-task-014

Write comprehensive tests covering: ReceiptAttachmentService orchestration with mocked storage and repository dependenci...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

high medium testing Tier 5 🧪 testing specialist
Integration test: end-to-end receipt capture and claim link
epic-receipt-capture-and-attachment-core-logic-task-015

Implement integration tests that exercise the complete receipt capture flow against a Supabase test environment: open sh...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

high high testing Tier 6 🧪 testing specialist
Implement ReceiptStorageRepository for Supabase Storage
epic-receipt-capture-and-attachment-core-logic-task-002

Build the ReceiptStorageRepository to handle binary image upload and retrieval against Supabase Storage buckets. Impleme...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

critical medium backend Tier 1 ⚙ backend specialist
Implement core ReceiptAttachmentService orchestration logic
epic-receipt-capture-and-attachment-core-logic-task-007

Build the central ReceiptAttachmentService that orchestrates the end-to-end receipt capture and upload flow. Coordinate ...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

critical high backend Tier 2 ⚙ backend specialist
Implement non-blocking upload with progress streaming
epic-receipt-capture-and-attachment-core-logic-task-008

Extend ReceiptAttachmentService to perform Supabase Storage uploads in a background isolate, emitting upload progress ev...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

critical high backend Tier 3 ⚙ backend specialist
Implement ClaimReceiptRepository CRUD operations
epic-receipt-capture-and-attachment-core-logic-task-001

Create the ClaimReceiptRepository data layer with methods to create, read, update, and delete claim-receipt associations...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

critical low database Tier 0 🗄 database specialist
Build ReceiptCameraSheet bottom sheet modal UI
epic-receipt-capture-and-attachment-core-logic-task-009

Implement the ReceiptCameraSheet as a Flutter DraggableScrollableSheet presented as a bottom sheet within the expense wi...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

critical medium frontend Tier 2 🎨 frontend specialist
Build ReceiptAttachmentIndicator widget with upload state
epic-receipt-capture-and-attachment-core-logic-task-012

Implement the ReceiptAttachmentIndicator widget displayed in the expense form showing current receipt attachment state: ...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

critical medium frontend Tier 4 🎨 frontend specialist
Integrate ReceiptCameraSheet into expense wizard flow
epic-receipt-capture-and-attachment-core-logic-task-013

Wire ReceiptCameraSheet and ReceiptAttachmentService into the expense registration wizard. The sheet must open inline wi...

Receipt Attachment Service and Camera Sheet Orchestration · Receipt Capture and Attachment

critical medium integration Tier 5 ⚡ fullstack developer
Build Receipt Thumbnail Preview Widget base layout
epic-receipt-capture-and-attachment-ui-accessibility-task-001

Implement the core Receipt Thumbnail Preview Widget with compressed image thumbnail display, file metadata row (filename...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

high low frontend Tier 0 🎨 frontend specialist
Add upload progress overlay to thumbnail widget
epic-receipt-capture-and-attachment-ui-accessibility-task-002

Overlay a circular progress indicator on the thumbnail while the receipt image is uploading. Accept an upload progress s...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

high low frontend Tier 1 🎨 frontend specialist
Implement remove and replace actions on thumbnail
epic-receipt-capture-and-attachment-ui-accessibility-task-003

Add Remove and Replace icon-buttons to the thumbnail widget. Remove clears the attached receipt and reverts the parent f...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

high low frontend Tier 2 🎨 frontend specialist
Build Receipt Attachment Indicator base widget
epic-receipt-capture-and-attachment-ui-accessibility-task-005

Implement the Receipt Attachment Indicator as an inline form widget. In its default state it shows a neutral info row ('...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

high low frontend Tier 0 🎨 frontend specialist
Wire threshold stream to attachment indicator
epic-receipt-capture-and-attachment-ui-accessibility-task-006

Connect the Receipt Threshold Validator reactive stream to the attachment indicator so it dynamically switches between o...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

high medium integration Tier 1 🎨 frontend specialist
Validate org-configurable threshold end-to-end
epic-receipt-capture-and-attachment-ui-accessibility-task-009

Write an integration test that provisions two organizations with different receipt thresholds (e.g., Blindeforbundet at ...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

high medium testing Tier 2 🧪 testing specialist
Widget tests for thumbnail and indicator components
epic-receipt-capture-and-attachment-ui-accessibility-task-012

Write flutter_test widget tests covering: thumbnail renders with progress overlay at varying progress values, remove and...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

high medium testing Tier 4 🧪 testing specialist
Apply WCAG 2.2 AA semantics to thumbnail widget
epic-receipt-capture-and-attachment-ui-accessibility-task-004

Wrap the thumbnail widget with Flutter Semantics nodes. Provide descriptive labels such as 'Receipt attached: filename.j...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

critical medium frontend Tier 3 🎨 frontend specialist
Add live region announcements on threshold crossing
epic-receipt-capture-and-attachment-ui-accessibility-task-007

When the threshold stream emits a state change (optional → required or required → optional), emit a Flutter Semantics li...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

critical medium frontend Tier 2 🎨 frontend specialist
Apply WCAG 2.2 AA semantics to attachment indicator
epic-receipt-capture-and-attachment-ui-accessibility-task-008

Add Semantics wrappers to the attachment indicator. Labels must communicate both the requirement status and the current ...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

critical medium frontend Tier 3 🎨 frontend specialist
VoiceOver accessibility audit for receipt capture flow
epic-receipt-capture-and-attachment-ui-accessibility-task-010

Conduct a structured VoiceOver (iOS) audit of the full receipt capture flow: expense form → attachment indicator (option...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

critical medium testing Tier 4 🧪 testing specialist
TalkBack accessibility audit for receipt capture flow
epic-receipt-capture-and-attachment-ui-accessibility-task-011

Conduct a structured TalkBack (Android) audit mirroring the VoiceOver audit for the full receipt capture flow. Pay speci...

Receipt UI Widgets, Thumbnail Preview, and Full Accessibility · Receipt Capture and Attachment

critical medium testing Tier 5 🧪 testing specialist
Register providers in Riverpod dependency graph
epic-role-based-access-control-data-infrastructure-task-007

Register SupabaseRoleProvider and RoleRepository as Riverpod providers so they are injectable across the app. Use a ref-...

Role Data Infrastructure · Role-Based Access Control

high low infrastructure Tier 4 ⚙ backend specialist
Implement cache invalidation on logout
epic-role-based-access-control-data-infrastructure-task-006

Wire the RoleRepository's cache invalidation logic to the auth session lifecycle so that all cached role assignments are...

Role Data Infrastructure · Role-Based Access Control

high low integration Tier 4 ⚙ backend specialist
Write unit and integration tests for role data layer
epic-role-based-access-control-data-infrastructure-task-008

Write unit tests for the Role domain model serialization, RoleRepository cache behavior, and SupabaseRoleProvider error ...

Role Data Infrastructure · Role-Based Access Control

high medium testing Tier 5 🧪 testing specialist
Build SupabaseRoleProvider data access layer
epic-role-based-access-control-data-infrastructure-task-003

Implement the SupabaseRoleProvider class that queries Supabase JWT claims, user metadata, and the user_roles table via t...

Role Data Infrastructure · Role-Based Access Control

critical medium backend Tier 2 ⚙ backend specialist
Define Role domain model and typed records
epic-role-based-access-control-data-infrastructure-task-004

Create the typed Role domain model in Dart including fields for roleId, userId, roleName (enum: peer_mentor, coordinator...

Role Data Infrastructure · Role-Based Access Control

critical low backend Tier 0 ⚙ backend specialist
Implement RoleRepository with session caching
epic-role-based-access-control-data-infrastructure-task-005

Build the RoleRepository class on top of SupabaseRoleProvider. The repository must cache resolved role assignments per s...

Role Data Infrastructure · Role-Based Access Control

critical medium backend Tier 3 ⚙ backend specialist
Create user_roles Supabase table schema
epic-role-based-access-control-data-infrastructure-task-001

Design and implement the user_roles database table in Supabase, including columns for user_id, org_unit_id, role_name (p...

Role Data Infrastructure · Role-Based Access Control

critical medium database Tier 0 🗄 database specialist
Implement RLS policies for user_roles table
epic-role-based-access-control-data-infrastructure-task-002

Write and apply Row Level Security policies on the user_roles table ensuring users can only read their own role assignme...

Role Data Infrastructure · Role-Based Access Control

critical medium database Tier 1 🗄 database specialist
Implement Pre-Action Permission Validation Flow
epic-role-based-access-control-state-and-services-task-006

Extend PermissionCheckerService with the sensitive pre-action validation flow: checkPermissionBeforeSubmit(action) perfo...

Role State Management and Permission Services · Role-Based Access Control

high medium backend Tier 4 ⚙ backend specialist
Implement Role Switch Support for Multi-Role Users
epic-role-based-access-control-state-and-services-task-008

Extend RoleStateManager with switchRole(newRole) that validates the requested role is in the user's available roles list...

Role State Management and Permission Services · Role-Based Access Control

high medium backend Tier 4 ⚙ backend specialist
Unit Test Role State Manager and Permission Checker
epic-role-based-access-control-state-and-services-task-009

Write comprehensive unit tests for RoleStateManager (initial state, setActiveRole, switchRole, resetOnLogout, multi-role...

Role State Management and Permission Services · Role-Based Access Control

high medium testing Tier 5 🧪 testing specialist
Integration Test Role Resolution End-to-End Flow
epic-role-based-access-control-state-and-services-task-010

Write integration tests covering the complete role resolution flow: mock Supabase returning multi-role user data → RoleR...

Role State Management and Permission Services · Role-Based Access Control

high medium testing Tier 6 🧪 testing specialist
Define Role Domain Models and Enums
epic-role-based-access-control-state-and-services-task-001

Create the core Dart data models for the role system: UserRole enum (coordinator, peerMentor, globalAdmin, orgAdmin), Ro...

Role State Management and Permission Services · Role-Based Access Control

critical low backend Tier 0 ⚙ backend specialist
Implement Role Repository Interface and Supabase Provider
epic-role-based-access-control-state-and-services-task-002

Define the abstract RoleRepository interface with methods fetchRolesForUser(userId), fetchPrimaryRole(userId), and fetch...

Role State Management and Permission Services · Role-Based Access Control

critical medium backend Tier 1 ⚙ backend specialist
Implement Role State Manager BLoC/Riverpod Provider
epic-role-based-access-control-state-and-services-task-003

Build the RoleStateManager as a Riverpod StateNotifier (or BLoC) that holds the active UserRole, exposes a role stream t...

Role State Management and Permission Services · Role-Based Access Control

critical medium backend Tier 2 ⚙ backend specialist
Implement Role Resolution Service Post-Login Flow
epic-role-based-access-control-state-and-services-task-004

Build the RoleResolutionService that orchestrates the post-authentication role determination flow: invoke RoleRepository...

Role State Management and Permission Services · Role-Based Access Control

critical medium backend Tier 3 ⚙ backend specialist
Implement Permission Checker Service Core Logic
epic-role-based-access-control-state-and-services-task-005

Build the PermissionCheckerService with synchronous canAccess(route, role) and asynchronous checkPermission(action, cont...

Role State Management and Permission Services · Role-Based Access Control

critical medium backend Tier 3 ⚙ backend specialist
Wire Role Resolution into Auth Session Post-Login
epic-role-based-access-control-state-and-services-task-007

Integrate RoleResolutionService into the post-login auth flow so that after successful BankID/Vipps/email authentication...

Role State Management and Permission Services · Role-Based Access Control

critical medium integration Tier 4 🔗 integration specialist
Build coordinator home screen content variant
epic-role-based-access-control-ui-and-navigation-task-002

Implement the coordinator-specific home screen content including activity overview summary cards, quick-action registrat...

Role-Driven UI and Navigation · Role-Based Access Control

high medium frontend Tier 1 🎨 frontend specialist
Build peer mentor home screen content variant
epic-role-based-access-control-ui-and-navigation-task-003

Implement the peer mentor-specific home screen content variant showing personal activity summary, recent registrations, ...

Role-Driven UI and Navigation · Role-Based Access Control

high medium frontend Tier 1 🎨 frontend specialist
Build org admin home screen variant and content
epic-role-based-access-control-ui-and-navigation-task-004

Implement the org admin home screen content variant showing org-level statistics, member counts, area summaries, and adm...

Role-Driven UI and Navigation · Role-Based Access Control

high medium frontend Tier 1 🎨 frontend specialist
Implement No-Access Screen for global admins
epic-role-based-access-control-ui-and-navigation-task-005

Build the NoAccessScreen widget displayed when a global admin authenticates. The screen must show a clear, friendly mess...

Role-Driven UI and Navigation · Role-Based Access Control

high low frontend Tier 0 🎨 frontend specialist
Implement Role Switch Widget accessible selector
epic-role-based-access-control-ui-and-navigation-task-006

Build the RoleSwitchWidget dropdown/bottom-sheet selector that lists all roles held by the authenticated user. On role s...

Role-Driven UI and Navigation · Role-Based Access Control

high medium frontend Tier 1 🎨 frontend specialist
Role Switch Widget state cascade and confirmation
epic-role-based-access-control-ui-and-navigation-task-007

Implement the state update flow triggered by the Role Switch Widget: dispatch role change event to Role State Manager, s...

Role-Driven UI and Navigation · Role-Based Access Control

high medium frontend Tier 2 🎨 frontend specialist
Preserve per-tab scroll and state across tab switches
epic-role-based-access-control-ui-and-navigation-task-009

Ensure StatefulShellRoute correctly preserves scroll positions, form state, and list positions within each tab branch wh...

Role-Driven UI and Navigation · Role-Based Access Control

high medium frontend Tier 4 🎨 frontend specialist
WCAG 2.2 AA accessibility audit for all role UI components
epic-role-based-access-control-ui-and-navigation-task-012

Conduct a full WCAG 2.2 AA accessibility audit across all role-driven UI components: Role-Based Home Screen variants, Ro...

Role-Driven UI and Navigation · Role-Based Access Control

high medium testing Tier 6 🧪 testing specialist
Integration testing for role switch end-to-end flow
epic-role-based-access-control-ui-and-navigation-task-013

Write integration tests covering the full role switch flow: authenticate as multi-role user → verify home screen renders...

Role-Driven UI and Navigation · Role-Based Access Control

high medium testing Tier 7 🧪 testing specialist
Integration test for global admin No-Access redirect
epic-role-based-access-control-ui-and-navigation-task-014

Write integration tests verifying the complete global admin redirect path: authenticate as global admin → route guard fi...

Role-Driven UI and Navigation · Role-Based Access Control

high low testing Tier 8 🧪 testing specialist
Implement Role-Based Home Screen scaffold
epic-role-based-access-control-ui-and-navigation-task-001

Create the RoleBasedHomeScreen widget that subscribes to the Role State Manager stream and conditionally renders one of ...

Role-Driven UI and Navigation · Role-Based Access Control

critical medium frontend Tier 0 🎨 frontend specialist
Implement Role-Aware Bottom Navigation tab rendering
epic-role-based-access-control-ui-and-navigation-task-008

Build the RoleAwareBottomNav widget using StatefulShellRoute (GoRouter) that conditionally renders only the tabs permitt...

Role-Driven UI and Navigation · Role-Based Access Control

critical medium frontend Tier 3 🎨 frontend specialist
Implement Role-Based Route Guard GoRouter integration
epic-role-based-access-control-ui-and-navigation-task-010

Build the RoleRouteGuard as a GoRouter redirect callback. On every navigation event, validate the user's active role aga...

Role-Driven UI and Navigation · Role-Based Access Control

critical medium infrastructure Tier 4 🏗 infrastructure specialist
Route Guard redirect logic for global admin to No-Access
epic-role-based-access-control-ui-and-navigation-task-011

Implement specific redirect logic within the Route Guard to detect global admin role and unconditionally redirect to the...

Role-Driven UI and Navigation · Role-Based Access Control

critical medium infrastructure Tier 5 🏗 infrastructure specialist
Add offline cache for scenario rules
epic-scenario-based-follow-up-prompts-foundation-task-006

Extend ScenarioRuleRepository with an offline-capable caching layer using flutter_secure_storage or Hive so the mobile c...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

high medium backend Tier 3 ⚙ backend specialist
Register Riverpod providers for data layer
epic-scenario-based-follow-up-prompts-foundation-task-010

Create Riverpod providers (using riverpod) that expose ScenarioRuleRepository, PromptHistoryRepository, and PushNotifica...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

high low backend Tier 5 ⚙ backend specialist
Unit test repositories and dispatcher
epic-scenario-based-follow-up-prompts-foundation-task-009

Write unit and integration tests for ScenarioRuleRepository, PromptHistoryRepository, and PushNotificationDispatcher. Co...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

high medium testing Tier 5 🧪 testing specialist
Implement ScenarioRuleRepository data layer
epic-scenario-based-follow-up-prompts-foundation-task-005

Implement the ScenarioRuleRepository Dart class that performs CRUD operations against the scenario_rules Supabase table....

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

critical medium backend Tier 2 ⚙ backend specialist
Implement PromptHistoryRepository data layer
epic-scenario-based-follow-up-prompts-foundation-task-007

Implement the PromptHistoryRepository Dart class that reads and writes to the follow_up_notification_log Supabase table....

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

critical medium backend Tier 3 ⚙ backend specialist
Create scenario_rules database migration
epic-scenario-based-follow-up-prompts-foundation-task-001

Write and apply a Supabase database migration that creates the scenario_rules table. The table must store JSON-configure...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

critical medium database Tier 0 🗄 database specialist
Create follow_up_notification_log migration
epic-scenario-based-follow-up-prompts-foundation-task-002

Write and apply a Supabase database migration that creates the follow_up_notification_log table for tracking delivery st...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

critical medium database Tier 1 🗄 database specialist
Apply Supabase RLS policies for scenario_rules
epic-scenario-based-follow-up-prompts-foundation-task-003

Define and apply Row Level Security policies on the scenario_rules table to enforce chapter-scoped data isolation. Coord...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Apply RLS policies for follow_up_notification_log
epic-scenario-based-follow-up-prompts-foundation-task-004

Define and apply Row Level Security policies on the follow_up_notification_log table to enforce chapter-scoped isolation...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

critical medium infrastructure Tier 2 🏗 infrastructure specialist
Wire PushNotificationDispatcher for FCM/APNs
epic-scenario-based-follow-up-prompts-foundation-task-008

Implement the PushNotificationDispatcher infrastructure class that sends push notifications via both FCM (Android) and A...

Scenario Follow-up Prompts: Data Foundation · Scenario-based Follow-up Prompts

critical medium infrastructure Tier 4 🏗 infrastructure specialist
Document rule engine API and default rule templates
epic-scenario-based-follow-up-prompts-core-logic-task-014

Write developer documentation for the ScenarioRuleEngine public API including: evaluate() parameter contracts and return...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

medium low documentation Tier 6 📝 documentor
Implement rule priority ordering and conflict resolution
epic-scenario-based-follow-up-prompts-core-logic-task-006

Extend ScenarioRuleEngine to handle multiple matching rules by applying a priority ordering strategy: explicit priority ...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

high medium backend Tier 3 ⚙ backend specialist
Build ScenarioDeepLinkHandler URI translation service
epic-scenario-based-follow-up-prompts-core-logic-task-007

Implement ScenarioDeepLinkHandler that converts a triggered ScenarioContext (activityId, contactId, activityType, prefil...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

high medium backend Tier 2 ⚙ backend specialist
Implement deep link argument validation and fallback routing
epic-scenario-based-follow-up-prompts-core-logic-task-008

Extend ScenarioDeepLinkHandler to validate all route arguments before navigation: verify activityId exists and belongs t...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

high medium backend Tier 3 ⚙ backend specialist
Expose ScenarioRuleEngine and managers via Riverpod providers
epic-scenario-based-follow-up-prompts-core-logic-task-013

Wire all three services into the Riverpod provider graph: scenarioRuleEngineProvider (depends on scenarioRuleRepositoryP...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

high medium backend Tier 3 ⚙ backend specialist
Unit tests for ScenarioConfigurationManager
epic-scenario-based-follow-up-prompts-core-logic-task-010

Write unit tests for ScenarioConfigurationManager covering: loading rules for a chapter with and without existing data, ...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

high medium testing Tier 3 🧪 testing specialist
Unit tests for ScenarioDeepLinkHandler URI building
epic-scenario-based-follow-up-prompts-core-logic-task-011

Write unit tests for ScenarioDeepLinkHandler covering: valid context produces correct go_router URI with all query param...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

high medium testing Tier 4 🧪 testing specialist
Integration test: rule evaluation against Supabase data
epic-scenario-based-follow-up-prompts-core-logic-task-012

Write integration tests that exercise the full evaluation path against a real Supabase test instance: seed scenario_rule...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

high high testing Tier 5 🧪 testing specialist
Define ScenarioRule domain model and JSON schema
epic-scenario-based-follow-up-prompts-core-logic-task-001

Define the Dart domain model for ScenarioRule including fields for contact_type filters, wellbeing flags, duration thres...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

critical medium backend Tier 0 ⚙ backend specialist
Implement ScenarioConfigurationManager business logic
epic-scenario-based-follow-up-prompts-core-logic-task-004

Build the ScenarioConfigurationManager service that provides chapter-level rule management. Implement loadRulesForChapte...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

critical medium backend Tier 2 ⚙ backend specialist
Build ScenarioRuleEngine evaluate() core algorithm
epic-scenario-based-follow-up-prompts-core-logic-task-005

Implement the ScenarioRuleEngine.evaluate(activityMetadata, rules, promptHistory) method. The algorithm must check: cont...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

critical high backend Tier 2 ⚙ backend specialist
Implement ScenarioRuleRepository read/write interface
epic-scenario-based-follow-up-prompts-core-logic-task-002

Create the ScenarioRuleRepository class backed by the scenario_rules Supabase table. Implement fetchRulesForChapter(chap...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

critical medium database Tier 1 🗄 database specialist
Implement PromptHistoryRepository read/write interface
epic-scenario-based-follow-up-prompts-core-logic-task-003

Create the PromptHistoryRepository class backed by the scenario_prompt_history Supabase table. Implement recordPromptSen...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

critical medium database Tier 1 🗄 database specialist
Unit tests for ScenarioRuleEngine evaluate() algorithm
epic-scenario-based-follow-up-prompts-core-logic-task-009

Write comprehensive unit tests for the ScenarioRuleEngine covering: exact contact type match, wildcard contact type, sin...

Scenario Follow-up Prompts: Rule Engine and Configuration Logic · Scenario-based Follow-up Prompts

critical high testing Tier 4 🧪 testing specialist
Add WCAG 2.2 AA accessibility to Detail Bottom Sheet
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-015

Audit and enhance the ScenarioPromptDetailBottomSheet for WCAG 2.2 AA compliance: focus trap within the sheet when open,...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

medium low frontend Tier 9 🎨 frontend specialist
Deduplication pass against Prompt History in Scheduler
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-004

Implement the deduplication step in the Scheduler Service that filters out ScenarioPrompt candidates already present in ...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium backend Tier 3 ⚙ backend specialist
Build Scenario Notification Card widget shell
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-006

Create the ScenarioPromptNotificationCard Flutter widget with Design System v3 dark-mode styling. The card must render i...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium frontend Tier 5 🎨 frontend specialist
Wire CTA deep link from Notification Card
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-007

Implement the CTA tap handler in ScenarioPromptNotificationCard that constructs and fires a deep link to the activity wi...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium frontend Tier 6 🎨 frontend specialist
Implement Scenario Prompt Detail Bottom Sheet shell
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-008

Create the ScenarioPromptDetailBottomSheet Flutter widget as a modal bottom sheet following Design System v3. Include se...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium frontend Tier 6 🎨 frontend specialist
Load and display triggering activity context in Detail Sheet
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-009

Wire the Detail Bottom Sheet to fetch full activity context from the repository when opened. Display peer mentor name, a...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium frontend Tier 7 🎨 frontend specialist
Scaffold Scenario Configuration Screen layout
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-011

Create the ScenarioConfigurationScreen Flutter widget as a full-page coordinator-only screen. Use Design System v3 sideb...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium frontend Tier 0 🎨 frontend specialist
Load scenario templates from Configuration Manager
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-012

Wire the ScenarioConfigurationScreen to load all available scenario templates from the Scenario Configuration Manager se...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium frontend Tier 1 🎨 frontend specialist
Persist toggle state changes via Configuration Manager
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-013

Implement the toggle change handler in ScenarioConfigurationScreen that calls the Scenario Configuration Manager to upda...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium frontend Tier 2 ⚡ fullstack developer
Add WCAG 2.2 AA accessibility to Notification Card
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-014

Audit and enhance the ScenarioPromptNotificationCard for WCAG 2.2 AA compliance: add Semantics wrappers with descriptive...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high low frontend Tier 7 🎨 frontend specialist
Connect Detail Sheet dismiss action to Prompt History
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-010

Implement the dismiss flow in the Detail Bottom Sheet: when a coordinator taps 'Dismiss', call the Prompt History Reposi...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium integration Tier 8 ⚡ fullstack developer
Unit test Scheduler Service pipeline stages
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-016

Write unit tests for the Scenario Prompt Scheduler Service covering: activity fetch with date window filter, rule engine...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium testing Tier 5 🧪 testing specialist
Widget tests for Notification Card and Detail Sheet
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-017

Write Flutter widget tests for ScenarioPromptNotificationCard and ScenarioPromptDetailBottomSheet: verify card renders s...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high medium testing Tier 10 🧪 testing specialist
Integration test for full scheduler-to-card end-to-end flow
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-018

Write an integration test that covers the complete flow: Scheduler Service runs against a seeded Supabase test instance,...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

high high testing Tier 11 🧪 testing specialist
Scaffold Scheduler Service skeleton and interfaces
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-001

Create the Dart class skeleton for the Scenario Prompt Scheduler Service including abstract interfaces, dependency injec...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

critical medium backend Tier 0 ⚙ backend specialist
Implement activity look-back window query in Scheduler
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-002

Implement the fetchActivitiesInWindow method in the Scheduler Service that queries Supabase for all activities within th...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

critical medium backend Tier 1 ⚙ backend specialist
Dispatch and record delivery in Scheduler Service
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-005

Implement the final two stages of the Scheduler pipeline: forward deduplicated prompts to the Push Notification Dispatch...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

critical medium backend Tier 4 ⚙ backend specialist
Integrate Rule Engine into Scheduler pipeline
epic-scenario-based-follow-up-prompts-scheduler-and-ui-task-003

Wire the Scenario Rule Engine into the Scheduler Service pipeline. After fetching activities, pass each ActivityRecord t...

Scenario Follow-up Prompts: Scheduler Service and Peer Mentor UI · Scenario-based Follow-up Prompts

critical medium integration Tier 2 🔗 integration specialist
Implement idempotency guard to prevent duplicate prompt scheduling
epic-scenario-based-follow-up-prompts-infrastructure-task-005

Add an idempotency check at the start of each scheduler invocation cycle. Query the prompt_history table for entries alr...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

high medium backend Tier 4 ⚙ backend specialist
Create deployment script and cron trigger configuration
epic-scenario-based-follow-up-prompts-infrastructure-task-007

Write the Supabase Edge Function deployment script (deploy.sh or Makefile target) that deploys the function with correct...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

high medium deployment Tier 5 🚀 devops specialist
Emit structured JSON logs for observability
epic-scenario-based-follow-up-prompts-infrastructure-task-006

Instrument the Edge Function to emit structured JSON log entries at key execution points: function invoked, kill switch ...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

high low infrastructure Tier 4 🏗 infrastructure specialist
Write integration tests and post-launch validation checklist
epic-scenario-based-follow-up-prompts-infrastructure-task-008

Write integration tests covering: successful run with mock scheduler service, kill-switch disabled path, per-activity er...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

high medium testing Tier 6 🧪 testing specialist
Implement Edge Function entry point with service role authentication
epic-scenario-based-follow-up-prompts-infrastructure-task-002

Implement the Supabase Edge Function entry point (index.ts) that initialises a Supabase client authenticated with the se...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

critical medium backend Tier 1 ⚙ backend specialist
Invoke Scenario Prompt Scheduler Service with per-activity error isolation
epic-scenario-based-follow-up-prompts-infrastructure-task-004

Call the Scenario Prompt Scheduler Service from the Edge Function and wrap the per-activity processing loop in individua...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

critical medium backend Tier 3 ⚙ backend specialist
Define Edge Function environment variables and configuration schema
epic-scenario-based-follow-up-prompts-infrastructure-task-001

Define and document all environment variables required by the Scenario Evaluation Edge Function, including SUPABASE_SERV...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

critical low infrastructure Tier 0 🏗 infrastructure specialist
Integrate kill-switch feature flag check at function startup
epic-scenario-based-follow-up-prompts-infrastructure-task-003

Before invoking the Scenario Prompt Scheduler Service, query the feature flag store for the scenario-follow-up-prompts k...

Scenario Follow-up Prompts: Edge Function Infrastructure · Scenario-based Follow-up Prompts

critical low integration Tier 2 🔗 integration specialist
Write unit tests for ScenarioDeepLinkRouter cold-start and foreground navigation
epic-scenario-push-engagement-foundation-task-013

Write unit tests for ScenarioDeepLinkRouter covering: cold-start payload resolves correct route with full back-stack, fo...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

medium medium testing Tier 2 🧪 testing specialist
Build ScenarioNotificationContentBuilder localisation-aware template engine
epic-scenario-push-engagement-foundation-task-007

Implement ScenarioNotificationContentBuilder that generates FCM/APNs title and body strings for each scenario type. Supp...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high medium backend Tier 1 ⚙ backend specialist
Implement ScenarioDeepLinkRouter for push payload parsing and navigation
epic-scenario-push-engagement-foundation-task-008

Implement ScenarioDeepLinkRouter to parse incoming push notification payloads (scenario_type, entity_id, target_route) a...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high medium backend Tier 1 🎨 frontend specialist
Implement ScenarioEvaluationConfig for threshold and feature flag loading
epic-scenario-push-engagement-foundation-task-005

Implement ScenarioEvaluationConfig as an infrastructure service that reads all scenario-related thresholds and feature f...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high low infrastructure Tier 0 🏗 infrastructure specialist
Write unit tests for NotificationPreferencesRepository
epic-scenario-push-engagement-foundation-task-009

Write unit tests for NotificationPreferencesRepository covering: default opted-in behaviour when no row exists, upsert i...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high low testing Tier 2 🧪 testing specialist
Write unit tests for ScenarioNotificationRepository
epic-scenario-push-engagement-foundation-task-010

Write unit tests for ScenarioNotificationRepository covering: recordNotificationSent persists correct fields, updateDeli...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high medium testing Tier 2 🧪 testing specialist
Write unit tests for ScenarioNotificationContentBuilder
epic-scenario-push-engagement-foundation-task-011

Write unit tests for ScenarioNotificationContentBuilder covering: correct Norwegian and English string output per scenar...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high low testing Tier 2 🧪 testing specialist
Write unit tests for PushNotificationDispatcher retry logic
epic-scenario-push-engagement-foundation-task-012

Write unit tests for PushNotificationDispatcher covering: successful FCM dispatch records DELIVERED status, first-attemp...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high medium testing Tier 3 🧪 testing specialist
Integration test: end-to-end dispatch and deep-link resolution
epic-scenario-push-engagement-foundation-task-014

Write an integration test that exercises the full foundation stack: load config from ScenarioEvaluationConfig, build a l...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

high high testing Tier 4 🧪 testing specialist
Implement NotificationPreferencesRepository with upsert and opted-in defaults
epic-scenario-push-engagement-foundation-task-003

Implement the Dart NotificationPreferencesRepository class using the Supabase client. Provide methods: getPreferences(us...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

critical low backend Tier 1 ⚙ backend specialist
Implement ScenarioNotificationRepository for record and cooldown persistence
epic-scenario-push-engagement-foundation-task-004

Implement ScenarioNotificationRepository in Dart with methods: recordNotificationSent(record), updateDeliveryStatus(id, ...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

critical medium backend Tier 1 ⚙ backend specialist
Create notification preferences Supabase table and RLS
epic-scenario-push-engagement-foundation-task-001

Create the notification_preferences Postgres table in Supabase with columns for user_id, scenario_type, opted_in (defaul...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

critical low database Tier 0 🗄 database specialist
Create scenario notification records Supabase tables and RLS
epic-scenario-push-engagement-foundation-task-002

Create scenario_notification_records table (id, user_id, scenario_type, sent_at, delivery_status, payload_json, retry_co...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

critical medium database Tier 0 🗄 database specialist
Implement PushNotificationDispatcher FCM/APNs wrapper with retry logic
epic-scenario-push-engagement-foundation-task-006

Implement PushNotificationDispatcher as a thin wrapper around the FCM HTTP v1 API for Android and APNs for iOS. Provide ...

Scenario Push Engagement — Data & Infrastructure Foundation · Scenario-Based Engagement Push Notifications

critical medium integration Tier 2 🔗 integration specialist
Implement milestone threshold evaluator in trigger engine
epic-scenario-push-engagement-core-engine-task-006

Add the milestone scenario evaluator to the trigger engine: query cumulative session count for the current calendar year...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

high medium backend Tier 3 ⚙ backend specialist
Implement certification expiry lead-time evaluator
epic-scenario-push-engagement-core-engine-task-007

Add the certification expiry scenario evaluator to the trigger engine: query certification expiry dates for the peer men...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

high medium backend Tier 3 ⚙ backend specialist
Add structured logging and observability to trigger engine
epic-scenario-push-engagement-core-engine-task-010

Instrument the Scenario Trigger Engine Edge Function with structured JSON logging: log each evaluation run with peer_men...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

high low backend Tier 6 ⚙ backend specialist
Add structured logging and error handling to scheduler
epic-scenario-push-engagement-core-engine-task-013

Instrument the Scenario Edge Function Scheduler with structured JSON logging: log each scheduler run with total active m...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

high low backend Tier 9 ⚙ backend specialist
Implement notification preference service with opt-out gate
epic-scenario-push-engagement-core-engine-task-003

Build the Notification Preference Service as a Dart service class that wraps the preferences repository. Expose methods ...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical low backend Tier 1 ⚙ backend specialist
Implement inactivity window evaluation in trigger engine
epic-scenario-push-engagement-core-engine-task-005

Within the Scenario Trigger Engine Supabase Edge Function, implement the inactivity scenario evaluator: query the most r...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical medium backend Tier 2 ⚙ backend specialist
Implement cooldown enforcement in trigger engine
epic-scenario-push-engagement-core-engine-task-008

Build the cooldown enforcement logic in the trigger engine: after a scenario notification is recorded, block further not...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical medium backend Tier 4 ⚙ backend specialist
Define notification preferences repository interface and schema
epic-scenario-push-engagement-core-engine-task-001

Create the database schema and repository interface for storing per-user notification preferences, including opt-out fla...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical low database Tier 0 🗄 database specialist
Create scenario notification repository and DB schema
epic-scenario-push-engagement-core-engine-task-002

Design and implement the database table and repository for scenario notifications, tracking which notifications have bee...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical medium database Tier 0 🗄 database specialist
Configure pg_cron schedule and scheduler deployment
epic-scenario-push-engagement-core-engine-task-012

Register the pg_cron job in the Supabase database to invoke the Scenario Edge Function Scheduler on the desired daily ca...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical low deployment Tier 8 🚀 devops specialist
Build pg_cron scheduler entry point Edge Function
epic-scenario-push-engagement-core-engine-task-011

Implement the Scenario Edge Function Scheduler as a Supabase Edge Function designed to be invoked by a pg_cron job. The ...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical medium infrastructure Tier 7 🏗 infrastructure specialist
Load scenario evaluation config in trigger engine
epic-scenario-push-engagement-core-engine-task-004

Integrate the scenario-evaluation-config (from Epic 1, component 583) into the trigger engine. Fetch configurable values...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical low integration Tier 1 ⚙ backend specialist
Integrate push dispatcher and notification record write
epic-scenario-push-engagement-core-engine-task-009

Wire the trigger engine to call the push notification dispatcher (582-push-notification-dispatcher) when a scenario eval...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical medium integration Tier 5 🔗 integration specialist
Write integration tests for trigger engine scenario evaluators
epic-scenario-push-engagement-core-engine-task-014

Write integration tests covering all three scenario evaluators (inactivity, milestone, certification expiry) in the trig...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical high testing Tier 7 🧪 testing specialist
End-to-end scheduler and preference gate integration test
epic-scenario-push-engagement-core-engine-task-015

Write an end-to-end integration test that simulates a full scheduler run: seed active peer mentors with varying states (...

Scenario Push Engagement — Trigger Engine & Scheduler · Scenario-Based Engagement Push Notifications

critical high testing Tier 10 🧪 testing specialist
End-to-end flow validation and documentation
epic-scenario-push-engagement-ui-task-013

Perform end-to-end validation of the full scenario push engagement UI flow: preference toggle persists → evaluation cycl...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

medium low documentation Tier 6 📝 documentor
Scaffold notification preferences screen layout
epic-scenario-push-engagement-ui-task-001

Create the base Flutter screen for notification-preferences-screen including app bar, scrollable body, and section group...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high low frontend Tier 0 🎨 frontend specialist
Implement per-scenario toggle controls with WCAG 2.2 AA
epic-scenario-push-engagement-ui-task-002

Add one toggle switch per supported scenario type (e.g., days-inactive, certification-expiry, session-count) inside the ...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high medium frontend Tier 1 🎨 frontend specialist
Scaffold in-app notification banner widget
epic-scenario-push-engagement-ui-task-004

Create the in-app-notification-banner widget as an overlay positioned at the top of the current screen. Implement the vi...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high low frontend Tier 0 🎨 frontend specialist
Auto-dismiss timer and screen-reader announcement for banner
epic-scenario-push-engagement-ui-task-006

Add a configurable auto-dismiss timer (default 5 seconds) to the in-app-notification-banner using a countdown that cance...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high low frontend Tier 2 🎨 frontend specialist
Tap-to-navigate delegation to scenario-deep-link-router
epic-scenario-push-engagement-ui-task-007

Implement tap handling on the in-app-notification-banner that delegates navigation to scenario-deep-link-router (578). P...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high low frontend Tier 3 🎨 frontend specialist
Scaffold scenario notification detail view screen
epic-scenario-push-engagement-ui-task-008

Create the read-only scenario-notification-detail-view screen reachable from the notification centre or a push tap. Buil...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high low frontend Tier 0 🎨 frontend specialist
Load notification record and render contextual data
epic-scenario-push-engagement-ui-task-009

Wire scenario-notification-detail-view to scenario-notification-repository (579) via Riverpod to load the full notificat...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high medium frontend Tier 1 🎨 frontend specialist
Implement mark-as-read on view and CTA deep-link button
epic-scenario-push-engagement-ui-task-010

On scenario-notification-detail-view screen mount, call scenario-notification-repository (579) to mark the notification ...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high low frontend Tier 2 🎨 frontend specialist
Wire preferences screen to notification-preference-service
epic-scenario-push-engagement-ui-task-003

Connect the toggle controls in notification-preferences-screen to notification-preference-service (577) using Riverpod. ...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high low integration Tier 2 🎨 frontend specialist
Implement Supabase Realtime subscription for banner trigger
epic-scenario-push-engagement-ui-task-005

Wire the in-app-notification-banner to a Supabase Realtime subscription on the scenario_notifications table filtered by ...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high medium integration Tier 1 🔗 integration specialist
WCAG 2.2 AA audit for all three UI components
epic-scenario-push-engagement-ui-task-011

Run a focused accessibility audit across notification-preferences-screen, in-app-notification-banner, and scenario-notif...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high medium testing Tier 4 🧪 testing specialist
Widget and integration tests for all three components
epic-scenario-push-engagement-ui-task-012

Write flutter_test widget tests for notification-preferences-screen (toggle persistence, initial load), in-app-notificat...

Scenario Push Engagement — Mobile User Interface · Scenario-Based Engagement Push Notifications

high medium testing Tier 5 🧪 testing specialist
Document foundation APIs and usage contracts
epic-screen-reader-support-foundation-task-014

Write developer documentation covering: the sensitive field registry lookup API and how to register new fields at runtim...

Screen Reader Support Foundation · Screen Reader Support

medium low documentation Tier 6 📝 documentor
Write unit tests for semantics service facade
epic-screen-reader-support-foundation-task-006

Write unit tests for SemanticsServiceFacade covering announcement queuing, priority handling, mock injection, and locale...

Screen Reader Support Foundation · Screen Reader Support

high medium testing Tier 1 🧪 testing specialist
Write unit and integration tests for screen reader detection
epic-screen-reader-support-foundation-task-008

Write tests for ScreenReaderDetectionService covering initial detection, foreground re-evaluation, stream emission on st...

Screen Reader Support Foundation · Screen Reader Support

high medium testing Tier 2 🧪 testing specialist
Write widget tests for semantics wrapper
epic-screen-reader-support-foundation-task-011

Write comprehensive widget tests for SemanticsWrapperWidget verifying correct semantic label assignment, role attributio...

Screen Reader Support Foundation · Screen Reader Support

high medium testing Tier 4 🧪 testing specialist
Integration test: full foundation stack wiring
epic-screen-reader-support-foundation-task-012

Write integration tests verifying that all five foundation components are correctly wired via Riverpod: SensitiveFieldCo...

Screen Reader Support Foundation · Screen Reader Support

high medium testing Tier 5 🧪 testing specialist
Define sensitive field configuration data model
epic-screen-reader-support-foundation-task-001

Create the Dart data model and constants for the sensitive field configuration registry. Define the SensitiveFieldConfig...

Screen Reader Support Foundation · Screen Reader Support

critical low backend Tier 0 ⚙ backend specialist
Implement sensitive field configuration registry
epic-screen-reader-support-foundation-task-002

Implement the SensitiveFieldConfigurationRegistry class with runtime-updatable field registration, lookup API (isSensiti...

Screen Reader Support Foundation · Screen Reader Support

critical low backend Tier 1 ⚙ backend specialist
Implement accessibility settings repository with reactive streams
epic-screen-reader-support-foundation-task-004

Implement the AccessibilitySettingsRepository backed by SharedPreferences or Hive. Expose a Stream<AccessibilitySettings...

Screen Reader Support Foundation · Screen Reader Support

critical low backend Tier 1 ⚙ backend specialist
Implement screen reader detection service with reactive stream
epic-screen-reader-support-foundation-task-007

Implement the ScreenReaderDetectionService that detects VoiceOver (iOS) and TalkBack (Android) activation state at app s...

Screen Reader Support Foundation · Screen Reader Support

critical medium backend Tier 1 ⚙ backend specialist
Define accessibility settings data model and schema
epic-screen-reader-support-foundation-task-003

Create the AccessibilitySettings data class with fields for screen reader override, announcement verbosity, sensitive fi...

Screen Reader Support Foundation · Screen Reader Support

critical low database Tier 0 ⚙ backend specialist
Implement semantics wrapper widget core structure
epic-screen-reader-support-foundation-task-009

Create the SemanticsWrapperWidget Flutter widget that wraps any interactive child with a Semantics widget. Accept parame...

Screen Reader Support Foundation · Screen Reader Support

critical medium frontend Tier 2 🎨 frontend specialist
Add dynamic label and state resolution to semantics wrapper
epic-screen-reader-support-foundation-task-010

Extend SemanticsWrapperWidget to support dynamic label builders (functions that produce context-aware labels), live regi...

Screen Reader Support Foundation · Screen Reader Support

critical medium frontend Tier 3 🎨 frontend specialist
Implement semantics service facade wrapping SemanticsService
epic-screen-reader-support-foundation-task-005

Create the SemanticsServiceFacade class that wraps Flutter's SemanticsService.announce() and platform MethodChannel call...

Screen Reader Support Foundation · Screen Reader Support

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Register all foundation providers in app bootstrap
epic-screen-reader-support-foundation-task-013

Register the five foundation Riverpod providers (SensitiveFieldConfigurationRegistry, AccessibilitySettingsRepository, S...

Screen Reader Support Foundation · Screen Reader Support

critical low infrastructure Tier 3 🏗 infrastructure specialist
Document accessibility service APIs and integration guide
epic-screen-reader-support-core-services-task-018

Write developer documentation covering the public APIs of all five components: AccessibilityTestHarness matcher referenc...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

medium low documentation Tier 7 📝 documentor
Implement dynamic content insertion focus placement
epic-screen-reader-support-core-services-task-005

Add to FocusManagementService the ability to move focus to dynamically inserted content such as inline validation errors...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

high medium backend Tier 2 🎨 frontend specialist
Run AccessibilityAuditService on all existing screens
epic-screen-reader-support-core-services-task-017

Execute AccessibilityAuditService.runAudit() against every existing application screen using the test harness. Collect a...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

high medium infrastructure Tier 6 🚀 devops specialist
Write unit tests for FocusManagementService
epic-screen-reader-support-core-services-task-012

Use the AccessibilityTestHarness to write comprehensive unit and widget tests for FocusManagementService. Cover: focus l...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

high medium testing Tier 3 🧪 testing specialist
Write unit tests for AccessibilityAuditService
epic-screen-reader-support-core-services-task-013

Write flutter_test widget tests using AccessibilityTestHarness for AccessibilityAuditService. Create test widget trees w...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

high medium testing Tier 2 🧪 testing specialist
Write tests for LiveRegionAnnouncer queue behaviour
epic-screen-reader-support-core-services-task-014

Write flutter_test widget tests for LiveRegionAnnouncer covering: polite announcements queue in order, assertive announc...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

high medium testing Tier 2 🧪 testing specialist
Write tests for SensitiveFieldWarningDialog
epic-screen-reader-support-core-services-task-015

Write flutter_test widget tests for SensitiveFieldWarningDialog covering: dialog renders with correct field type label a...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

high medium testing Tier 4 🧪 testing specialist
Build FocusManagementService core with route transition focus
epic-screen-reader-support-core-services-task-003

Implement the FocusManagementService as a singleton service that intercepts GoRouter route transitions and places VoiceO...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical medium backend Tier 0 🎨 frontend specialist
Add dialog open/close focus management to FocusManagementService
epic-screen-reader-support-core-services-task-004

Extend FocusManagementService to handle dialog and bottom sheet lifecycle events. When a dialog opens, focus must move t...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical medium backend Tier 1 🎨 frontend specialist
Build AccessibilityAuditService semantic tree traversal
epic-screen-reader-support-core-services-task-006

Implement the AccessibilityAuditService core traversal engine that walks the live Flutter semantic tree using SemanticsB...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical high backend Tier 0 ⚙ backend specialist
Implement audit rules and per-screen report generation
epic-screen-reader-support-core-services-task-007

Add WCAG 2.2 AA audit rules to AccessibilityAuditService: detect unlabelled interactive elements, missing semantic roles...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical high backend Tier 1 🧪 testing specialist
Build LiveRegionAnnouncer announcement queue
epic-screen-reader-support-core-services-task-008

Implement the LiveRegionAnnouncer widget as a Riverpod provider-backed announcement queue. Support polite announcements ...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical medium frontend Tier 0 🎨 frontend specialist
Integrate LiveRegionAnnouncer with async state changes
epic-screen-reader-support-core-services-task-009

Wire the LiveRegionAnnouncer into the application's BLoC/Cubit state streams so that loading, success, and error state t...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical medium frontend Tier 1 🎨 frontend specialist
Implement SensitiveFieldWarningDialog OS alert layout
epic-screen-reader-support-core-services-task-010

Build the SensitiveFieldWarningDialog as a platform-styled alert dialog that warns the user before a sensitive field (na...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical high frontend Tier 0 🎨 frontend specialist
Add SensitiveFieldWarningDialog confirmation flow and focus restoration
epic-screen-reader-support-core-services-task-011

Implement the full confirmation flow for SensitiveFieldWarningDialog: on Confirm the sensitive field is revealed and foc...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical high frontend Tier 3 🎨 frontend specialist
Implement AccessibilityTestHarness semantic tree matchers
epic-screen-reader-support-core-services-task-001

Build the core AccessibilityTestHarness infrastructure component providing semantic tree traversal matchers for flutter_...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical medium infrastructure Tier 0 🏗 infrastructure specialist
Implement screen reader simulation in AccessibilityTestHarness
epic-screen-reader-support-core-services-task-002

Extend the AccessibilityTestHarness with a screen reader simulation layer that replays the semantic tree as a VoiceOver/...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical medium infrastructure Tier 1 🧪 testing specialist
Integration test: end-to-end screen reader session simulation
epic-screen-reader-support-core-services-task-016

Use AccessibilityTestHarness screen reader simulation to write integration tests covering the two Blindeforbundet pilot ...

Core Accessibility Services and Dynamic Announcements · Screen Reader Support

critical high testing Tier 5 🧪 testing specialist
Integrate WCAGComplianceChecker into CI build pipeline
epic-screen-reader-support-complex-widgets-task-015

Wire the WCAGComplianceChecker into the CI build pipeline so that it runs automatically on every pull request. Configure...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium deployment Tier 3 🚀 devops specialist
Add inline validation error reading in wizard semantics
epic-screen-reader-support-complex-widgets-task-005

Extend ActivityWizardStepSemantics to detect inline validation errors on each step and announce them via the live region...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium frontend Tier 2 🎨 frontend specialist
Announce tab switches in bottom navigation overlay
epic-screen-reader-support-complex-widgets-task-007

Extend AccessibleBottomNavigation to post a live region announcement whenever the user switches tabs. The announcement s...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium frontend Tier 1 🎨 frontend specialist
Expose position semantics on bottom navigation tabs
epic-screen-reader-support-complex-widgets-task-008

Add positional semantics (e.g., 'Tab 1 of 5') to each item in the AccessibleBottomNavigation overlay so that screen read...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium frontend Tier 2 🎨 frontend specialist
Restore trigger focus on AccessibleModalSheet close
epic-screen-reader-support-complex-widgets-task-010

Extend AccessibleModalSheet to track the widget or button that triggered the sheet's opening. On close (whether via dism...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium frontend Tier 1 🎨 frontend specialist
Announce modal sheet purpose and role on open
epic-screen-reader-support-complex-widgets-task-011

Add a live region announcement to AccessibleModalSheet that fires when the sheet opens and describes the modal's purpose...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium frontend Tier 2 🎨 frontend specialist
Build WCAGComplianceChecker contrast ratio evaluator
epic-screen-reader-support-complex-widgets-task-012

Implement the contrast-ratio evaluation module within WCAGComplianceChecker. Parse the app's design token color palette ...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium infrastructure Tier 0 🏗 infrastructure specialist
Build WCAGComplianceChecker touch target size validator
epic-screen-reader-support-complex-widgets-task-013

Implement the touch-target-size validation module in WCAGComplianceChecker. Traverse the widget tree (or a serialised wi...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium infrastructure Tier 1 🏗 infrastructure specialist
Build WCAGComplianceChecker semantic completeness checker
epic-screen-reader-support-complex-widgets-task-014

Implement the semantic completeness validation module in WCAGComplianceChecker. Detect interactive widgets that are miss...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium infrastructure Tier 2 🏗 infrastructure specialist
Write integration tests for SensitiveFieldPrivacyGuard flow
epic-screen-reader-support-complex-widgets-task-016

Write Flutter integration tests that simulate a screen reader user navigating to a sensitive field (assignment details, ...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

high medium testing Tier 2 🧪 testing specialist
Implement SensitiveFieldPrivacyGuard core service
epic-screen-reader-support-complex-widgets-task-001

Build the SensitiveFieldPrivacyGuard service that orchestrates the full sensitive-field warning flow. Implement session-...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical high backend Tier 0 ⚙ backend specialist
Document WCAG 2.2 AA compliance evidence for Blindeforbundet sign-off
epic-screen-reader-support-complex-widgets-task-018

Produce the final WCAG 2.2 AA compliance documentation package required for Blindeforbundet acceptance sign-off. Include...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical medium documentation Tier 4 📝 documentor
Build ActivityWizardStepSemantics step-transition announcer
epic-screen-reader-support-complex-widgets-task-003

Implement the ActivityWizardStepSemantics component's step-transition announcement logic. On each wizard step change, po...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical medium frontend Tier 0 🎨 frontend specialist
Implement focus management for wizard step transitions
epic-screen-reader-support-complex-widgets-task-004

Within ActivityWizardStepSemantics, implement per-step focus management so that when the wizard advances to a new step, ...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical medium frontend Tier 1 🎨 frontend specialist
Implement AccessibleBottomNavigation labels and selected state
epic-screen-reader-support-complex-widgets-task-006

Build the AccessibleBottomNavigation overlay widget that wraps the existing bottom navigation bar. Assign explicit seman...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical high frontend Tier 0 🎨 frontend specialist
Implement AccessibleModalSheet focus trap and initial focus
epic-screen-reader-support-complex-widgets-task-009

Build the AccessibleModalSheet wrapper that traps keyboard and assistive-technology focus within the modal while it is o...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical high frontend Tier 0 🎨 frontend specialist
Wire SensitiveFieldPrivacyGuard into encrypted field display
epic-screen-reader-support-complex-widgets-task-002

Integrate the SensitiveFieldPrivacyGuard service with the encrypted field display widget so that whenever a sensitive fi...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical medium integration Tier 1 🎨 frontend specialist
Write accessibility tests for wizard, nav, and modal components
epic-screen-reader-support-complex-widgets-task-017

Write flutter_test accessibility tests covering all three high-complexity UI components: ActivityWizardStepSemantics (st...

Complex Widget Semantics and WCAG Compliance Enforcement · Screen Reader Support

critical high testing Tier 3 🧪 testing specialist
Write tests for AccessibilityLiveRegionAnnouncer
epic-speech-to-text-input-foundation-task-005

Write unit and widget tests for AccessibilityLiveRegionAnnouncer. Verify that announcements are dispatched via Semantics...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

medium low testing Tier 1 🧪 testing specialist
Document foundation contracts and write developer integration guide
epic-speech-to-text-input-foundation-task-014

Write a developer-facing integration guide documenting all four foundation components: NativeSpeechApiBridge (platform a...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

high low documentation Tier 4 📝 documentor
Implement AccessibilityLiveRegionAnnouncer utility
epic-speech-to-text-input-foundation-task-004

Create the AccessibilityLiveRegionAnnouncer utility class that wraps Flutter's SemanticsService to post live region anno...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

high low infrastructure Tier 0 🏗 infrastructure specialist
Write unit tests for PartialTranscriptionRepository
epic-speech-to-text-input-foundation-task-003

Write comprehensive unit tests for all PartialTranscriptionRepository methods using an in-memory SQLite test database. C...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

high low testing Tier 2 🧪 testing specialist
Write integration tests for NativeSpeechApiBridge on both platforms
epic-speech-to-text-input-foundation-task-010

Write integration tests using flutter_test and mock MethodChannel handlers to validate the full NativeSpeechApiBridge li...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

high medium testing Tier 3 🧪 testing specialist
Implement PartialTranscriptionRepository with CRUD operations
epic-speech-to-text-input-foundation-task-002

Build the PartialTranscriptionRepository class that persists, retrieves, and clears partial transcription records from S...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical low backend Tier 1 ⚙ backend specialist
Define DictationScopeGuard interface and session state contract
epic-speech-to-text-input-foundation-task-011

Define the DictationScopeGuard service interface with the core method isDictationPermitted(): bool and the supporting ca...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical low backend Tier 0 ⚙ backend specialist
Implement DictationScopeGuard with session state integration
epic-speech-to-text-input-foundation-task-012

Implement DictationScopeGuard that inspects the current ActiveSessionState from Riverpod to enforce the business rule: d...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical low backend Tier 1 ⚙ backend specialist
Define PartialTranscription data model and SQLite schema
epic-speech-to-text-input-foundation-task-001

Design and implement the SQLite table schema for persisting in-flight dictation transcriptions. Define the PartialTransc...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical low database Tier 0 🗄 database specialist
Define NativeSpeechApiBridge abstract interface and result types
epic-speech-to-text-input-foundation-task-006

Define the abstract NativeSpeechApiBridge interface in Dart with method signatures for: requestPermission(), startRecogn...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical medium infrastructure Tier 0 ⚙ backend specialist
Implement iOS SFSpeechRecognizer platform bridge
epic-speech-to-text-input-foundation-task-007

Implement the iOS-specific NativeSpeechApiBridge using Flutter MethodChannel to invoke SFSpeechRecognizer via native Swi...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Implement Android SpeechRecognizer platform bridge
epic-speech-to-text-input-foundation-task-008

Implement the Android-specific NativeSpeechApiBridge using Flutter MethodChannel to invoke android.speech.SpeechRecogniz...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical medium infrastructure Tier 1 🏗 infrastructure specialist
Register NativeSpeechApiBridge as Riverpod provider
epic-speech-to-text-input-foundation-task-009

Wire the platform-specific NativeSpeechApiBridge implementations into the Riverpod dependency graph. Create a nativeSpee...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical low infrastructure Tier 2 ⚙ backend specialist
Write unit tests for DictationScopeGuard compliance enforcement
epic-speech-to-text-input-foundation-task-013

Write thorough unit tests for DictationScopeGuard covering all state transitions: dictation allowed when no session acti...

Speech-to-Text Foundation: Platform Bridge, Scope Guard & Persistence · Speech-to-Text Input

critical low testing Tier 2 🧪 testing specialist
Implement locale and Norwegian language configuration
epic-speech-to-text-input-speech-engine-task-003

Implement locale configuration logic within SpeechRecognitionService that selects nb-NO as the primary locale and falls ...

Core Speech Recognition Service · Speech-to-Text Input

high low backend Tier 2 ⚙ backend specialist
Implement dispose and resource cleanup
epic-speech-to-text-input-speech-engine-task-007

Implement dispose() to cleanly tear down active sessions: cancel any in-flight NativeSpeechApiBridge operations, close t...

Core Speech Recognition Service · Speech-to-Text Input

high low backend Tier 6 ⚙ backend specialist
Register service in dependency injection and document public API
epic-speech-to-text-input-speech-engine-task-010

Register SpeechRecognitionService in the Riverpod provider graph as a singleton scoped to the dictation feature. Write D...

Core Speech Recognition Service · Speech-to-Text Input

high low documentation Tier 9 📝 documentor
Define SpeechRecognitionService interface and domain events
epic-speech-to-text-input-speech-engine-task-001

Define the public Dart interface for SpeechRecognitionService, including all method signatures (initialize, startListeni...

Core Speech Recognition Service · Speech-to-Text Input

critical medium backend Tier 0 ⚙ backend specialist
Implement service initialization and permission negotiation
epic-speech-to-text-input-speech-engine-task-002

Implement the initialize() method that checks microphone permission status using the permission_handler package, request...

Core Speech Recognition Service · Speech-to-Text Input

critical medium backend Tier 1 ⚙ backend specialist
Implement start and stop listening session lifecycle
epic-speech-to-text-input-speech-engine-task-004

Implement startListening() and stopListening() methods that enforce explicit user-command-only activation (no auto-start...

Core Speech Recognition Service · Speech-to-Text Input

critical high backend Tier 3 ⚙ backend specialist
Implement partial and final transcription streaming
epic-speech-to-text-input-speech-engine-task-005

Wire the raw speech_to_text package callbacks (onResult with isFinal flag) into the domain event stream. Map partial res...

Core Speech Recognition Service · Speech-to-Text Input

critical medium backend Tier 4 ⚙ backend specialist
Implement comprehensive error handling and recovery
epic-speech-to-text-input-speech-engine-task-006

Implement error handling for all failure scenarios: permission denied, engine not available, network timeout (on-device ...

Core Speech Recognition Service · Speech-to-Text Input

critical high backend Tier 5 ⚙ backend specialist
Write unit tests with mocked NativeSpeechApiBridge
epic-speech-to-text-input-speech-engine-task-008

Write comprehensive unit tests using flutter_test and mockito covering: initialization success and failure paths, permis...

Core Speech Recognition Service · Speech-to-Text Input

critical high testing Tier 7 🧪 testing specialist
Write integration tests with mocked platform responses
epic-speech-to-text-input-speech-engine-task-009

Write integration tests using flutter_test that exercise SpeechRecognitionService end-to-end against a fake NativeSpeech...

Core Speech Recognition Service · Speech-to-Text Input

critical high testing Tier 8 🧪 testing specialist
Integration test: end-to-end dictation session flow
epic-speech-to-text-input-state-management-task-008

Write an integration test that exercises the full dictation pipeline through TranscriptionStateManager using a fake Nati...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

medium medium testing Tier 6 🧪 testing specialist
Configure Riverpod family provider and scoping
epic-speech-to-text-input-state-management-task-006

Expose TranscriptionStateManager via a StateNotifierProvider.family keyed by fieldId string so that each dictation-enabl...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

high low backend Tier 4 ⚙ backend specialist
Integrate DictationScopeGuard into state transitions
epic-speech-to-text-input-state-management-task-003

Wire the DictationScopeGuard (component 661) into the TranscriptionStateManager so that any attempt to transition from D...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

high low integration Tier 2 ⚙ backend specialist
Integrate PartialTranscriptionRepository for crash recovery
epic-speech-to-text-input-state-management-task-005

Wire the PartialTranscriptionRepository (component 662) into the state manager so that every partial transcript emission...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

high medium integration Tier 3 ⚙ backend specialist
Unit tests for all state machine transitions
epic-speech-to-text-input-state-management-task-007

Write comprehensive unit tests for TranscriptionStateManager covering: (1) happy-path transitions idle → requesting-perm...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

high medium testing Tier 5 🧪 testing specialist
Define DictationState sealed class hierarchy
epic-speech-to-text-input-state-management-task-001

Define the sealed class / freezed union representing all dictation states: DictationIdle, DictationRequestingPermission,...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

critical low backend Tier 0 ⚙ backend specialist
Implement TranscriptionStateManager Cubit core
epic-speech-to-text-input-state-management-task-002

Implement the TranscriptionStateManager as a Riverpod StateNotifier (or Cubit wrapped in StateNotifierProvider.family ke...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

critical medium backend Tier 1 ⚙ backend specialist
Integrate SpeechRecognitionService event handling
epic-speech-to-text-input-state-management-task-004

Subscribe the TranscriptionStateManager to the domain event stream emitted by SpeechRecognitionService (component 659). ...

Dictation State Machine & Coordination Layer · Speech-to-Text Input

critical medium integration Tier 2 ⚙ backend specialist
Add availability-based visibility logic to microphone button
epic-speech-to-text-input-user-interface-task-002

Implement the conditional rendering logic in DictationMicrophoneButton so the widget fully hides itself when DictationSc...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

high low frontend Tier 1 🎨 frontend specialist
Connect state indicator to TranscriptionStateManager
epic-speech-to-text-input-user-interface-task-005

Consume the TranscriptionStateManager Riverpod provider within RecordingStateIndicator so that UI state (hidden, recordi...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

high low frontend Tier 2 🎨 frontend specialist
Implement cursor-position merging of final transcription
epic-speech-to-text-input-user-interface-task-007

Add the cursor-position-aware merge logic to TranscriptionPreviewField. When a final transcription result arrives, inser...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

high medium frontend Tier 1 🎨 frontend specialist
Implement cancellation path in TranscriptionPreviewField
epic-speech-to-text-input-user-interface-task-008

Handle the cancellation flow within TranscriptionPreviewField: when the user or system cancels an in-progress dictation ...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

high low frontend Tier 2 🎨 frontend specialist
Integrate dictation UI into post-session report screen
epic-speech-to-text-input-user-interface-task-009

Wire DictationMicrophoneButton, RecordingStateIndicator, and TranscriptionPreviewField into the post-session report scre...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

high medium integration Tier 3 🔗 integration specialist
Integrate dictation UI into dynamic field renderer
epic-speech-to-text-input-user-interface-task-010

Update the DynamicFieldRenderer (component 077-dynamic-field-renderer) to conditionally render a DictationMicrophoneButt...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

high medium integration Tier 4 🎨 frontend specialist
Widget and integration tests for dictation UI components
epic-speech-to-text-input-user-interface-task-012

Write flutter_test widget tests covering: DictationMicrophoneButton shows/hides based on availability state, button tap ...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

high medium testing Tier 6 🧪 testing specialist
Implement DictationMicrophoneButton base widget
epic-speech-to-text-input-user-interface-task-001

Create the DictationMicrophoneButton Flutter widget that renders inline within designated free-text report fields. The b...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

critical low frontend Tier 0 🎨 frontend specialist
Build RecordingStateIndicator animated overlay widget
epic-speech-to-text-input-user-interface-task-003

Implement the RecordingStateIndicator Flutter widget as a floating overlay that renders above active report fields durin...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

critical low frontend Tier 0 🎨 frontend specialist
Integrate AccessibilityLiveRegionAnnouncer into state indicator
epic-speech-to-text-input-user-interface-task-004

Wire the AccessibilityLiveRegionAnnouncer (component 664) into RecordingStateIndicator so that every state transition em...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

critical low frontend Tier 1 🎨 frontend specialist
Implement TranscriptionPreviewField core widget
epic-speech-to-text-input-user-interface-task-006

Create the TranscriptionPreviewField Flutter widget that wraps a standard TextField and displays live partial transcript...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

critical medium frontend Tier 0 🎨 frontend specialist
WCAG 2.2 AA accessibility audit for all dictation UI components
epic-speech-to-text-input-user-interface-task-011

Run a full WCAG 2.2 AA accessibility audit across DictationMicrophoneButton, RecordingStateIndicator, and TranscriptionP...

Dictation UI Components: Microphone Button, State Indicator & Transcription Preview · Speech-to-Text Input

critical medium testing Tier 5 🧪 testing specialist
Implement ReportSchemaCache with TTL eviction
epic-structured-post-session-report-foundation-task-004

Implement an in-memory ReportSchemaCache class that stores parsed report field schemas keyed by org_id. Support configur...

Data Layer & Schema Foundation · Structured Post-Session Report

high low backend Tier 0 ⚙ backend specialist
Implement stateless ReportFieldValidator
epic-structured-post-session-report-foundation-task-008

Implement the stateless ReportFieldValidator service that accepts a field definition (FieldConfig) and a raw value, then...

Data Layer & Schema Foundation · Structured Post-Session Report

high low backend Tier 2 ⚙ backend specialist
Unit test WayForwardItemRepository and ReportSchemaCache
epic-structured-post-session-report-foundation-task-009

Write comprehensive unit tests for WayForwardItemRepository (mocking Supabase client) covering create, read, update, del...

Data Layer & Schema Foundation · Structured Post-Session Report

high low testing Tier 3 🧪 testing specialist
Unit test PostSessionReportRepository and OrgFieldConfigLoader
epic-structured-post-session-report-foundation-task-010

Write unit tests for PostSessionReportRepository covering all CRUD paths, activity_id FK enforcement, partial update, dr...

Data Layer & Schema Foundation · Structured Post-Session Report

high medium testing Tier 3 🧪 testing specialist
Unit test ReportFieldValidator and integration smoke test
epic-structured-post-session-report-foundation-task-011

Write exhaustive unit tests for ReportFieldValidator covering every validation rule type (required, length, pattern, num...

Data Layer & Schema Foundation · Structured Post-Session Report

high medium testing Tier 4 🧪 testing specialist
Implement WayForwardItemRepository CRUD
epic-structured-post-session-report-foundation-task-003

Implement the WayForwardItemRepository Dart class with Supabase client integration. Provide methods: createItem, getItem...

Data Layer & Schema Foundation · Structured Post-Session Report

critical low backend Tier 2 ⚙ backend specialist
Implement PostSessionReportRepository CRUD
epic-structured-post-session-report-foundation-task-007

Implement the PostSessionReportRepository Dart class with full Supabase CRUD: createReport, getReportById, getReportsByA...

Data Layer & Schema Foundation · Structured Post-Session Report

critical medium backend Tier 2 ⚙ backend specialist
Define Supabase schema for post-session reports
epic-structured-post-session-report-foundation-task-001

Create the Supabase database migration for the post_session_reports table including columns for report_id, activity_id (...

Data Layer & Schema Foundation · Structured Post-Session Report

critical medium database Tier 0 🗄 database specialist
Define Supabase schema for way-forward items
epic-structured-post-session-report-foundation-task-002

Create the Supabase database migration for the way_forward_items table including columns for item_id, report_id (foreign...

Data Layer & Schema Foundation · Structured Post-Session Report

critical low database Tier 1 🗄 database specialist
Add org_field_configs Supabase table and seed data
epic-structured-post-session-report-foundation-task-006

Create the database migration for the org_field_configs table with columns: config_id, org_id, feature_key (e.g. 'post_s...

Data Layer & Schema Foundation · Structured Post-Session Report

critical medium database Tier 1 🗄 database specialist
Implement OrgFieldConfigLoader from Supabase
epic-structured-post-session-report-foundation-task-005

Implement OrgFieldConfigLoader that fetches per-organisation field configuration records from the org_field_configs Supa...

Data Layer & Schema Foundation · Structured Post-Session Report

critical medium infrastructure Tier 1 ⚙ backend specialist
Write Unit Tests for Report Schema Service
epic-structured-post-session-report-services-task-007

Write comprehensive unit tests for report-schema-service covering cache-hit, cache-miss, TTL expiry, schema parse errors...

Backend Services & Speech Integration · Structured Post-Session Report

medium low testing Tier 2 🧪 testing specialist
Write Unit Tests for Way Forward Task Service
epic-structured-post-session-report-services-task-008

Write unit tests for way-forward-task-service covering successful task creation, duplicate prevention via idempotency ke...

Backend Services & Speech Integration · Structured Post-Session Report

medium low testing Tier 2 🧪 testing specialist
Integration Test: Speech Adapter Lifecycle and Error Recovery
epic-structured-post-session-report-services-task-009

Write integration tests for speech-to-text-adapter covering the full lifecycle: permission grant flow, start/stop record...

Backend Services & Speech Integration · Structured Post-Session Report

medium medium testing Tier 1 🧪 testing specialist
Implement Report Schema Cache Layer
epic-structured-post-session-report-services-task-001

Build the in-memory and persistent cache layer for organisation-specific report schemas. Implement TTL-based expiry, cac...

Backend Services & Speech Integration · Structured Post-Session Report

high low backend Tier 0 ⚙ backend specialist
Implement Report Schema Service
epic-structured-post-session-report-services-task-005

Build the service that fetches, parses, and caches org-specific report schemas by composing report-schema-cache and org-...

Backend Services & Speech Integration · Structured Post-Session Report

high medium backend Tier 1 ⚙ backend specialist
Implement Way Forward Task Service
epic-structured-post-session-report-services-task-006

Build the service that converts submitted way-forward entries into structured coordinator follow-up tasks. On report sub...

Backend Services & Speech Integration · Structured Post-Session Report

high medium backend Tier 1 ⚙ backend specialist
Build Way Forward Item Repository
epic-structured-post-session-report-services-task-002

Implement the Supabase-backed repository for persisting way-forward entries submitted during post-session reports. Defin...

Backend Services & Speech Integration · Structured Post-Session Report

high low database Tier 0 🗄 database specialist
Implement Organisation Field Config Loader
epic-structured-post-session-report-services-task-003

Build the infrastructure component that fetches and parses organisation-specific field configuration from Supabase. Hand...

Backend Services & Speech Integration · Structured Post-Session Report

high medium infrastructure Tier 0 🏗 infrastructure specialist
Build Speech-to-Text Adapter with Permission Handling
epic-structured-post-session-report-services-task-004

Wrap Flutter's speech_to_text package into a clean adapter exposing start, stop, pause, and cancel controls. Implement m...

Backend Services & Speech Integration · Structured Post-Session Report

high medium infrastructure Tier 0 🏗 infrastructure specialist
Implement Report Field Validator
epic-structured-post-session-report-form-engine-task-006

Build the service layer validator that evaluates field values against schema-defined rules: required, minLength, maxLeng...

Dynamic Form Engine & UI Components · Structured Post-Session Report

medium low backend Tier 2 ⚙ backend specialist
Implement Way Forward Task Service
epic-structured-post-session-report-form-engine-task-007

Create the service layer for way-forward item lifecycle management: create, update, delete, and list items linked to a r...

Dynamic Form Engine & UI Components · Structured Post-Session Report

medium medium backend Tier 1 ⚙ backend specialist
Implement Report Schema Service
epic-structured-post-session-report-form-engine-task-008

Build the service that resolves the active report schema for a given org and report type, combining data from OrgFieldCo...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high medium backend Tier 2 ⚙ backend specialist
Implement Way Forward Item Repository
epic-structured-post-session-report-form-engine-task-001

Create the data layer repository for persisting way-forward items to Supabase. Define the WayForwardItem model with fiel...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high low database Tier 0 🗄 database specialist
Implement Post-Session Report Repository
epic-structured-post-session-report-form-engine-task-003

Create the Supabase-backed repository for persisting complete post-session reports including draft state, submitted repo...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high medium database Tier 1 🗄 database specialist
Build Way Forward Section Widget
epic-structured-post-session-report-form-engine-task-011

Implement the multi-entry way-forward section UI widget. Render a scrollable list of WayForwardItem cards with add, edit...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high medium frontend Tier 2 🎨 frontend specialist
Implement Report Schema Cache
epic-structured-post-session-report-form-engine-task-002

Build a local cache layer for org-specific report schemas fetched from Supabase. Use Hive or shared_preferences to persi...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high low infrastructure Tier 0 ⚙ backend specialist
Implement Speech-to-Text Adapter
epic-structured-post-session-report-form-engine-task-004

Build the infrastructure adapter bridging Flutter's speech_to_text plugin to the domain layer. Expose a stream-based API...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high medium infrastructure Tier 0 ⚙ backend specialist
Implement Organisation Field Config Loader
epic-structured-post-session-report-form-engine-task-005

Create the infrastructure component that fetches and parses org-specific field configuration from Supabase, mapping raw ...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high medium infrastructure Tier 1 ⚙ backend specialist
Integration testing for form engine pipeline
epic-structured-post-session-report-form-engine-task-013

Write integration tests covering the full form engine pipeline: schema load → field rendering → user input → validation ...

Dynamic Form Engine & UI Components · Structured Post-Session Report

high medium testing Tier 4 🧪 testing specialist
Build Speech-to-Text Field Overlay Widget
epic-structured-post-session-report-form-engine-task-009

Implement the per-field microphone trigger overlay widget. Render a microphone IconButton that transitions through idle,...

Dynamic Form Engine & UI Components · Structured Post-Session Report

critical medium frontend Tier 1 🎨 frontend specialist
Implement Report Form Orchestrator Bloc
epic-structured-post-session-report-form-engine-task-010

Build the Bloc/Riverpod state manager coordinating the full form lifecycle: schema load, field value mutations, draft au...

Dynamic Form Engine & UI Components · Structured Post-Session Report

critical high frontend Tier 3 🎨 frontend specialist
Build Dynamic Field Renderer Widget
epic-structured-post-session-report-form-engine-task-012

Implement the core dynamic field renderer that maps a FieldConfig schema object to the appropriate Flutter widget at run...

Dynamic Form Engine & UI Components · Structured Post-Session Report

critical high frontend Tier 3 🎨 frontend specialist
WCAG 2.2 AA accessibility audit for form engine
epic-structured-post-session-report-form-engine-task-014

Perform a systematic WCAG 2.2 AA accessibility audit of all form engine widgets: DynamicFieldRenderer, WayForwardSection...

Dynamic Form Engine & UI Components · Structured Post-Session Report

critical medium testing Tier 4 🧪 testing specialist
Document report screen flow and tester guide
epic-structured-post-session-report-screen-task-010

Write developer-facing documentation covering the post-session report screen's route arguments, session-lock guard contr...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

medium low documentation Tier 6 📝 documentor
Production readiness and pilot release checks
epic-structured-post-session-report-screen-task-009

Conduct a pre-pilot production readiness review of the post-session report screen. Verify that crash reporting captures ...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

high medium deployment Tier 5 🚀 devops specialist
Build draft indicator banner on report screen
epic-structured-post-session-report-screen-task-002

Display a visible draft indicator banner at the top of the post-session report screen when an incomplete (draft) report ...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

high low frontend Tier 1 🎨 frontend specialist
Implement post-submission confirmation and navigation
epic-structured-post-session-report-screen-task-005

After a successful report submission, display a confirmation screen or bottom sheet acknowledging the report was saved, ...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

high medium frontend Tier 3 🎨 frontend specialist
Implement session-lock guard for report screen
epic-structured-post-session-report-screen-task-001

Build the fill-after-session enforcement logic that prevents the post-session report screen from opening while an activi...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

critical medium frontend Tier 0 🎨 frontend specialist
Integrate dynamic form engine into report screen
epic-structured-post-session-report-screen-task-004

Connect the dynamic field renderer and way-forward section widget into the post-session report screen scaffold. The scre...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

critical high frontend Tier 2 🎨 frontend specialist
Add iOS/Android microphone permission manifests
epic-structured-post-session-report-screen-task-006

Add the NSMicrophoneUsageDescription key to Info.plist for iOS and the RECORD_AUDIO permission to AndroidManifest.xml fo...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

critical low infrastructure Tier 0 🏗 infrastructure specialist
Wire activity_id linkage to report submission
epic-structured-post-session-report-screen-task-003

Ensure every report submitted through the post-session report screen is persisted with the parent activity_id passed via...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

critical medium integration Tier 1 ⚙ backend specialist
VoiceOver and TalkBack accessibility validation
epic-structured-post-session-report-screen-task-007

Perform structured accessibility testing of the complete post-session report screen on a physical iOS device using Voice...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

critical high testing Tier 4 🧪 testing specialist
End-to-end integration tests across all layers
epic-structured-post-session-report-screen-task-008

Write end-to-end integration tests that exercise the full post-session report flow: open screen with a valid activity_id...

Post-Session Report Screen & End-to-End Integration · Structured Post-Session Report

critical high testing Tier 4 🧪 testing specialist
Document data layer contracts and RLS policies
epic-travel-expense-registration-foundation-task-012

Produce developer documentation covering: Supabase table schemas and column semantics for expense_claims and expense_lin...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

medium low documentation Tier 4 📝 documentor
Implement auto-approval edge function client
epic-travel-expense-registration-foundation-task-008

Build the AutoApprovalEdgeFunctionClient Dart class that invokes the Supabase Edge Function responsible for evaluating w...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

high medium api Tier 1 🔌 api specialist
Deploy auto-approval evaluation edge function
epic-travel-expense-registration-foundation-task-009

Write and deploy the Supabase Edge Function (Deno/TypeScript) that receives a claim payload, loads the organisation's th...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

high medium backend Tier 2 ⚙ backend specialist
Build read-only expense summary card widget
epic-travel-expense-registration-foundation-task-010

Implement the ExpenseSummaryCard Flutter widget that displays a compact, read-only summary of an expense claim: type bad...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

high low frontend Tier 3 🎨 frontend specialist
Load and cache org-specific threshold configuration
epic-travel-expense-registration-foundation-task-007

Build the ExpenseThresholdConfig service that loads organisation-specific auto-approval thresholds (e.g. HLF: auto-appro...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

high low infrastructure Tier 0 ⚙ backend specialist
Write integration tests for data layer
epic-travel-expense-registration-foundation-task-011

Write integration tests covering the full data layer: expense type catalogue fetch and offline fallback, expense claim c...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

high medium testing Tier 3 🧪 testing specialist
Implement expense type catalogue repository
epic-travel-expense-registration-foundation-task-002

Build the ExpenseTypeCatalogueRepository Dart class that reads expense types and exclusive group rules from Supabase, im...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

critical low backend Tier 1 ⚙ backend specialist
Implement expense repository with offline cache
epic-travel-expense-registration-foundation-task-004

Build the ExpenseRepository Dart class wrapping Supabase queries for CRUD operations on expense claims and line items. I...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

critical medium backend Tier 2 ⚙ backend specialist
Implement receipt storage adapter with compression
epic-travel-expense-registration-foundation-task-006

Build the ReceiptStorageAdapter Dart class that handles image selection via image_picker, compresses images to ≤500 KB u...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

critical medium backend Tier 1 ⚙ backend specialist
Create Supabase expense type catalogue schema
epic-travel-expense-registration-foundation-task-001

Design and migrate the Supabase database schema for the expense type catalogue, including tables for expense types, excl...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

critical low database Tier 0 🗄 database specialist
Create Supabase expense claims database schema
epic-travel-expense-registration-foundation-task-003

Write and apply Supabase migration scripts for the expense_claims and expense_line_items tables, covering all required f...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

critical medium database Tier 1 🗄 database specialist
Create Supabase Storage bucket for receipts
epic-travel-expense-registration-foundation-task-005

Provision the Supabase Storage bucket for receipt images with appropriate bucket policies: private access (no public URL...

Travel & Expense Data Layer and Infrastructure Foundation · Travel & Expense Registration

critical low infrastructure Tier 0 🏗 infrastructure specialist
Implement distance range validation in expense validation service
epic-travel-expense-registration-core-services-task-003

Add distance range validation for mileage-type expense claims. The validation service must verify that the submitted dis...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

high medium backend Tier 1 ⚙ backend specialist
Implement optimistic offline draft persistence in submission service
epic-travel-expense-registration-core-services-task-007

Add offline-first draft persistence to the expense submission service. When the device has no connectivity, the service ...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

high high backend Tier 5 ⚙ backend specialist
Implement Supabase Realtime subscription for attestation queue updates
epic-travel-expense-registration-core-services-task-010

Integrate Supabase Realtime into the expense attestation service so that the coordinator's queue updates live without ma...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

high medium integration Tier 7 🔗 integration specialist
Unit and integration tests for all three core services
epic-travel-expense-registration-core-services-task-011

Write comprehensive test coverage for ExpenseValidationService (mutual exclusion combinations, receipt threshold edge ca...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

high high testing Tier 8 🧪 testing specialist
Implement mutual exclusion rule engine for expense validation
epic-travel-expense-registration-core-services-task-001

Build the core mutual exclusion validation logic within the expense validation service. Implement exclusive_groups confi...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

critical high backend Tier 0 ⚙ backend specialist
Implement receipt requirement threshold validation
epic-travel-expense-registration-core-services-task-002

Add receipt attachment validation to the expense validation service. When total expense amount exceeds the configurable ...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

critical medium backend Tier 1 ⚙ backend specialist
Implement expense validation service public API and error model
epic-travel-expense-registration-core-services-task-004

Define and implement the public interface of the expense validation service: a single validate() method accepting an Exp...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

critical medium backend Tier 2 ⚙ backend specialist
Implement receipt upload orchestration in submission service
epic-travel-expense-registration-core-services-task-005

Build the receipt upload step within the expense submission service. Before persisting the expense record, the service m...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

critical medium backend Tier 3 ⚙ backend specialist
Implement Supabase expense record persistence and auto-approval routing
epic-travel-expense-registration-core-services-task-006

Implement the core submission flow: after validation passes and receipt is uploaded, persist the expense record to Supab...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

critical high backend Tier 4 ⚙ backend specialist
Implement pending attestation queue fetch in attestation service
epic-travel-expense-registration-core-services-task-008

Build the coordinator-facing pending queue fetch in the expense attestation service. Query the ExpenseRepository for all...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

critical medium backend Tier 5 ⚙ backend specialist
Implement approve/reject decision submission with coordinator comment
epic-travel-expense-registration-core-services-task-009

Add the decision submission method to the expense attestation service: acceptClaim(claimId, {comment?}) and rejectClaim(...

Expense Validation, Submission, and Attestation Services · Travel & Expense Registration

critical medium backend Tier 6 ⚙ backend specialist
Receipt Capture Widget — thumbnail preview and removal
epic-travel-expense-registration-ui-task-004

Add a receipt thumbnail preview strip beneath the capture button so users can inspect the captured image before submissi...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

medium low frontend Tier 2 🎨 frontend specialist
Expense Form BLoC — threshold-driven receipt requirement
epic-travel-expense-registration-ui-task-006

Extend the ExpenseFormBloc to read the receipt-required threshold from ExpenseThresholdConfig and reactively update form...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high medium backend Tier 3 ⚙ backend specialist
Expense Type Selector — accessibility semantics
epic-travel-expense-registration-ui-task-002

Augment the expense type selector with full screen-reader support: each type chip must have a descriptive Semantics labe...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high medium frontend Tier 1 🎨 frontend specialist
Receipt Capture Widget — image_picker integration
epic-travel-expense-registration-ui-task-003

Build the receipt capture widget using the image_picker package to support camera capture and gallery selection. Display...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high medium frontend Tier 1 🎨 frontend specialist
Attestation Queue Screen — list and real-time updates
epic-travel-expense-registration-ui-task-008

Build the coordinator attestation queue screen that fetches pending expense claims via ExpenseAttestationService and dis...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high medium frontend Tier 5 ⚡ fullstack developer
Attestation Queue Screen — approve/reject actions
epic-travel-expense-registration-ui-task-009

Add approve and reject action buttons to each claim card in the attestation queue. Tapping an action opens a bottom shee...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high medium frontend Tier 6 🎨 frontend specialist
Expense Registration Screen — summary confirmation view
epic-travel-expense-registration-ui-task-011

Add the summary confirmation view as the final step before submission. Display all entered values in plain language (no ...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high medium frontend Tier 5 🎨 frontend specialist
Expense Registration Screen — WCAG 2.2 AA audit
epic-travel-expense-registration-ui-task-012

Run a full WCAG 2.2 AA audit of the expense registration screen using the accessibility test harness. Verify focus trave...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high medium testing Tier 6 🧪 testing specialist
Integration tests — full expense registration flow
epic-travel-expense-registration-ui-task-013

Write widget and integration tests covering the end-to-end expense registration flow: type selection with mutual exclusi...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

high high testing Tier 7 🧪 testing specialist
Expense Form BLoC — state and event model
epic-travel-expense-registration-ui-task-005

Implement the ExpenseFormBloc using the flutter_bloc package. Define all form states (initial, editing, validating, subm...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

critical high backend Tier 2 ⚙ backend specialist
Expense Form BLoC — submission event and error handling
epic-travel-expense-registration-ui-task-007

Wire the BLoC submit event through ExpenseValidationService and ExpenseSubmissionService. On validation failure emit a f...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

critical high backend Tier 4 ⚙ backend specialist
Expense Type Selector — mutual exclusion logic
epic-travel-expense-registration-ui-task-001

Implement the expense type selector widget with a predefined catalogue of fixed expense types. Enforce mutual exclusion ...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

critical high frontend Tier 0 🎨 frontend specialist
Expense Registration Screen — scaffold and widget integration
epic-travel-expense-registration-ui-task-010

Implement the primary expense registration screen that hosts the ExpenseTypeSelectorWidget and ReceiptCaptureWidget with...

Expense Registration UI, Form Orchestration, and Coordinator Queue · Travel & Expense Registration

critical high frontend Tier 3 🎨 frontend specialist
Accounting integration client: retry logic and export audit trail
epic-travel-expense-registration-org-extensions-task-007

Add exponential-backoff retry logic to the AccountingIntegrationClient for transient HTTP failures, with a configurable ...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

medium high backend Tier 2 ⚙ backend specialist
Accounting integration client: credential vault and org configuration
epic-travel-expense-registration-org-extensions-task-005

Implement the credential management layer for the AccountingIntegrationClient. Create an accounting_credentials table in...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

medium high infrastructure Tier 0 🏗 infrastructure specialist
Accounting integration client: unified REST adapter with org-specific field mapping
epic-travel-expense-registration-org-extensions-task-006

Build the AccountingIntegrationClient Dart class as a unified REST interface for exporting approved expense records. Imp...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

medium high integration Tier 1 🔗 integration specialist
End-to-end testing: honorarium flow and accounting export
epic-travel-expense-registration-org-extensions-task-008

Write integration and widget tests covering the full driver honorarium flow: feature-flag guard renders form only for Bl...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

medium medium testing Tier 4 🧪 testing specialist
Driver honorarium service: business logic and rate guidance
epic-travel-expense-registration-org-extensions-task-002

Implement the DriverHonorariumService Dart class with methods to persist honorarium records, retrieve organisation-speci...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

high medium backend Tier 1 ⚙ backend specialist
Driver honorarium service: DB schema and core persistence
epic-travel-expense-registration-org-extensions-task-001

Create the database schema for honorarium records, including the honorarium_records table with fields for amount, org-sp...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

high medium database Tier 0 🗄 database specialist
Driver honorarium form: conditional UI with rate guidance
epic-travel-expense-registration-org-extensions-task-003

Build the DriverHonorariumForm Flutter widget that renders conditionally when the parent activity involves client transp...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

high medium frontend Tier 2 🎨 frontend specialist
Driver honorarium form: confidentiality declaration and acknowledgement
epic-travel-expense-registration-org-extensions-task-004

Extend the DriverHonorariumForm to present the linked confidentiality declaration text, rendered in a scrollable read-on...

Blindeforbundet Driver Honorarium and Accounting Integration · Travel & Expense Registration

high medium frontend Tier 3 🎨 frontend specialist
Document accessibility foundation layer for downstream teams
epic-visual-design-accessibility-foundation-task-014

Write developer documentation covering: how to read and extend the Accessibility Token Manifest, how to consume the Desi...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

medium low documentation Tier 7 📝 documentor
Add custom lint rules for design token enforcement
epic-visual-design-accessibility-foundation-task-007

Extend the Flutter Accessibility Lint Configuration with custom lint rules (or analyzer plugins) that reject hardcoded h...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

high medium infrastructure Tier 5 🏗 infrastructure specialist
Validate lint configuration in CI dart analyze step
epic-visual-design-accessibility-foundation-task-013

Integrate the Flutter Accessibility Lint Configuration into the CI pipeline by adding a dart analyze step that uses the ...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

high medium infrastructure Tier 6 🚀 devops specialist
Write unit tests for Design Token Provider immutability
epic-visual-design-accessibility-foundation-task-012

Create flutter_test unit tests verifying that the DesignTokenProvider exposes all tokens declared in the Accessibility T...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

high low testing Tier 5 🧪 testing specialist
Define Accessibility Token Manifest schema and structure
epic-visual-design-accessibility-foundation-task-001

Design and implement the versioned JSON/Dart schema for the Accessibility Token Manifest, declaring all color pair contr...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical low backend Tier 0 🎨 frontend specialist
Populate manifest with WCAG 2.2 AA contrast ratio declarations
epic-visual-design-accessibility-foundation-task-002

Fill the Accessibility Token Manifest with all required color pair contrast ratio declarations meeting WCAG 2.2 AA thres...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical low backend Tier 1 🎨 frontend specialist
Add type scale and minimum sizing constraints to manifest
epic-visual-design-accessibility-foundation-task-003

Extend the Accessibility Token Manifest with type scale constraints (minimum font sizes, line heights, letter spacing) a...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical low backend Tier 2 🎨 frontend specialist
Implement WCAG 2.2 relative luminance algorithm in Dart
epic-visual-design-accessibility-foundation-task-008

Implement the Contrast Ratio Validator core logic using the WCAG 2.2 relative luminance algorithm in Dart. The function ...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical medium backend Tier 0 ⚙ backend specialist
Build contrast ratio validation API for runtime and CI use
epic-visual-design-accessibility-foundation-task-009

Wrap the WCAG luminance algorithm in a ContrastRatioValidator service class exposing methods: validatePair(foreground, b...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical medium backend Tier 1 ⚙ backend specialist
Validate all manifest color pairs via ContrastRatioValidator
epic-visual-design-accessibility-foundation-task-010

Write a validation script that iterates over all color pair declarations in the Accessibility Token Manifest and runs ea...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical low backend Tier 3 ⚙ backend specialist
Implement Design Token Provider typed constant repository
epic-visual-design-accessibility-foundation-task-004

Create the immutable, typed Dart constant repository (DesignTokenProvider) that exposes all color, typography, spacing, ...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical medium frontend Tier 3 🎨 frontend specialist
Expose token provider via Riverpod providers
epic-visual-design-accessibility-foundation-task-005

Wire the DesignTokenProvider into the Riverpod provider graph so that all Flutter widgets and services can access design...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical low frontend Tier 4 🎨 frontend specialist
Configure analysis_options.yaml with accessibility lint rules
epic-visual-design-accessibility-foundation-task-006

Set up the Flutter Accessibility Lint Configuration by adding accessibility-focused lint rules to analysis_options.yaml....

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical low infrastructure Tier 0 🏗 infrastructure specialist
Write unit tests for contrast ratio validator
epic-visual-design-accessibility-foundation-task-011

Create comprehensive flutter_test unit tests for the ContrastRatioValidator covering: known passing pairs (white on blac...

Accessibility Token Foundation and Validation Infrastructure · Visual Design Accessibility

critical medium testing Tier 4 🧪 testing specialist
Write Developer Guide for Enforcement System
epic-visual-design-accessibility-services-and-widgets-task-020

Write the developer-facing documentation covering: how to use AccessibleTouchTargetWrapper, InteractiveControlSpacingSys...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

medium low documentation Tier 5 📝 documentor
Add Debug Assertions to Token Enforcer
epic-visual-design-accessibility-services-and-widgets-task-013

Extend the TokenAccessibilityEnforcer with comprehensive debug assertions that fire immediately when a non-compliant usa...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

high low backend Tier 3 🎨 frontend specialist
Write Unit Tests for Contrast Ratio Validation
epic-visual-design-accessibility-services-and-widgets-task-015

Write comprehensive unit tests for the contrast ratio validator covering: known WCAG pass/fail pairs (white on #767676 =...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

high low testing Tier 3 🧪 testing specialist
Write Widget Tests for Touch Target Wrapper
epic-visual-design-accessibility-services-and-widgets-task-016

Write widget tests for AccessibleTouchTargetWrapper verifying: minimum 44x44 pt hit area enforced regardless of child si...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

high low testing Tier 3 🧪 testing specialist
Write Widget Tests for Control Spacing System
epic-visual-design-accessibility-services-and-widgets-task-017

Write widget tests for InteractiveControlSpacingSystem verifying: spacing token resolves to correct pt value at 1x scale...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

high low testing Tier 3 🧪 testing specialist
Write Tests for Dynamic Type and Text Style Systems
epic-visual-design-accessibility-services-and-widgets-task-018

Write unit and widget tests covering: DynamicTypeScaleService returns correct budget at textScaleFactor 1.0, 1.5, 2.0; A...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

high medium testing Tier 4 🧪 testing specialist
Write Integration Tests for CI Lint Runner
epic-visual-design-accessibility-services-and-widgets-task-019

Write integration tests for the CI Accessibility Lint Runner using fixture Dart files that contain known violations (har...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

high medium testing Tier 4 🧪 testing specialist
Define Accessibility Token Manifest Structure
epic-visual-design-accessibility-services-and-widgets-task-001

Create the accessibility token manifest data layer that enumerates all approved color pairs, minimum text weights, and t...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical low backend Tier 0 ⚙ backend specialist
Implement Design Token Provider Foundation
epic-visual-design-accessibility-services-and-widgets-task-002

Build the design token provider that exposes the project's color, typography, and spacing tokens as typed Dart constants...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium backend Tier 1 ⚙ backend specialist
Build Contrast Ratio Validator Core Logic
epic-visual-design-accessibility-services-and-widgets-task-004

Implement the pure Dart contrast ratio calculation service that computes relative luminance per WCAG 2.1 formula and ret...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium backend Tier 1 ⚙ backend specialist
Implement Token Accessibility Enforcer Runtime Service
epic-visual-design-accessibility-services-and-widgets-task-005

Build the TokenAccessibilityEnforcer service class that consumes the contrast ratio validator and the token manifest to ...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium backend Tier 2 ⚙ backend specialist
Build Dynamic Type Scale Service
epic-visual-design-accessibility-services-and-widgets-task-006

Implement the DynamicTypeScaleService that reads the OS textScaleFactor via MediaQuery and maps it to per-role layout bu...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium backend Tier 2 ⚙ backend specialist
Implement 200% Scale Overflow Prevention Logic
epic-visual-design-accessibility-services-and-widgets-task-014

Extend the DynamicTypeScaleService with per-role overflow prevention that triggers when textScaleFactor exceeds 1.5 (150...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium backend Tier 3 🎨 frontend specialist
Integrate Lint Runner into PR CI Pipeline
epic-visual-design-accessibility-services-and-widgets-task-008

Add the accessibility_lint.dart CLI invocation to the GitHub Actions (or equivalent) CI workflow so it runs on every pul...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium deployment Tier 3 🚀 devops specialist
Build Accessible Touch Target Wrapper Widget
epic-visual-design-accessibility-services-and-widgets-task-009

Implement the AccessibleTouchTargetWrapper Flutter widget that enforces a minimum 44x44 pt tappable hit area regardless ...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical low frontend Tier 2 🎨 frontend specialist
Build Interactive Control Spacing System Widget
epic-visual-design-accessibility-services-and-widgets-task-010

Implement the InteractiveControlSpacingSystem widget that enforces a minimum gap between adjacent tappable controls to p...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical low frontend Tier 2 🎨 frontend specialist
Implement Accessible Text Style System Widget
epic-visual-design-accessibility-services-and-widgets-task-011

Build the AccessibleTextStyleSystem that provides a token-driven TextTheme where every body and label role is enforced t...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium frontend Tier 3 🎨 frontend specialist
Build Contrast-Safe Color Palette Widget
epic-visual-design-accessibility-services-and-widgets-task-012

Implement the ContrastSafeColorPalette widget and associated data class that provides pre-validated foreground/backgroun...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium frontend Tier 2 🎨 frontend specialist
Configure Flutter Accessibility Lint Rules File
epic-visual-design-accessibility-services-and-widgets-task-003

Produce the analysis_options.yaml additions and a dedicated accessibility_lint_rules.yaml configuration file that specif...

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical low infrastructure Tier 1 🏗 infrastructure specialist
Implement CI Accessibility Lint Runner Dart CLI
epic-visual-design-accessibility-services-and-widgets-task-007

Write the Dart CLI script (bin/accessibility_lint.dart) that scans the project source tree for accessibility violations....

Accessibility Enforcement Services, UI Widgets, and CI Integration · Visual Design Accessibility

critical medium infrastructure Tier 2 🏗 infrastructure specialist
Document theme builder integration guide
epic-visual-design-accessibility-theme-integration-task-010

Write the developer integration guide for the AccessibleThemeBuilder covering: how to add a new organisation's branding ...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

medium low documentation Tier 9 📝 documentor
Build token-driven component theme factories
epic-visual-design-accessibility-theme-integration-task-004

Implement factory methods inside the theme builder that produce ButtonTheme, ElevatedButtonThemeData, InputDecorationThe...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

high medium frontend Tier 3 🎨 frontend specialist
Add debug-mode compliance assertions
epic-visual-design-accessibility-theme-integration-task-007

Add assert() blocks that execute exclusively in Flutter debug mode to validate that the assembled ThemeData satisfies WC...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

high medium infrastructure Tier 6 🎨 frontend specialist
Implement organisation branding override pipeline
epic-visual-design-accessibility-theme-integration-task-006

Implement the branding override pipeline that accepts an OrgBrandingConfig for NHF, Blindeforbundet, HLF, or Barnekreftf...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

high medium integration Tier 5 🔗 integration specialist
Write unit and widget tests for theme assembly
epic-visual-design-accessibility-theme-integration-task-009

Write unit tests covering: token-to-ColorScheme mapping for all four organisations in both light and dark modes, rejecti...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

high medium testing Tier 8 🧪 testing specialist
Implement contrast-safe color scheme assembly
epic-visual-design-accessibility-theme-integration-task-002

Implement the color scheme composition layer inside the theme builder that accepts the contrast-safe color palette outpu...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

critical medium frontend Tier 1 🎨 frontend specialist
Compose accessible text theme into ThemeData
epic-visual-design-accessibility-theme-integration-task-003

Wire the accessible text style system output into the ThemeData.textTheme field. Map each TextStyle produced by the dyna...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

critical medium frontend Tier 2 🎨 frontend specialist
Assemble complete light and dark ThemeData objects
epic-visual-design-accessibility-theme-integration-task-005

Combine the color scheme, text theme, and all component themes into complete ThemeData instances for both light and dark...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

critical medium frontend Tier 4 🎨 frontend specialist
Integrate theme builder at MaterialApp level
epic-visual-design-accessibility-theme-integration-task-008

Wire the ThemeBuilder Riverpod provider into the root MaterialApp widget so that the app.theme and app.darkTheme propert...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

critical low frontend Tier 7 🎨 frontend specialist
Define ThemeBuilder interface and data contracts
epic-visual-design-accessibility-theme-integration-task-001

Define the Dart abstract interface and data classes for the AccessibleThemeBuilder, including OrgBrandingConfig (brand c...

Accessible Theme Builder and Organisation Branding Integration · Visual Design Accessibility

critical low infrastructure Tier 0 🎨 frontend specialist
Showing 1-15 of 2691 tasks