Steps 2–3

Daily Sync and Historical Data

A stable reporting foundation without replacing Azure DevOps.

Scheduled daily Azure DevOps sync flow
The daily job collects and preserves relevant work; it does not calculate recognition.

The flow

Azure DevOps→Scheduled daily .NET job→Fetch relevant work→Store or update snapshot→Preserve history

A scheduled .NET job can connect using an organisation-approved authentication method, locate relevant work with a query, fetch fields in batches, and store the current snapshot. Keeping capture and scoring separate makes the system easier to operate and explain.

Why a local database exists

Local database used for reporting history and recognition
A local snapshot preserves the reporting view even when a work item changes later.

Azure DevOps remains the system of work. The local database exists for reporting, historical snapshots and recognition. It avoids treating a changing current work item as a substitute for history.

TablePurpose
TaskActivityDaily work-item snapshot.
EmployeeUser and manager mappings for reports.
RecognitionPeriodCurrent and historical four-week periods.
StarCalculationStored weekly result.
ReportsHistoryReport and notification record.

Keep rules configurable

Category weights, priority weights, schedule times and report recipients belong in configuration, not hard-coded values. The data job captures; the weekly job evaluates.