gsxdsm
8dd9697468
FN-6714: backfill commit-association diff stats
Backfill historical commit-association diff stats so Command Center LOC can use real persisted git data.
- Add a core backfill API that inspects local git commits for associations with missing additions/deletions and supports dry-run reporting.
- Expose an authenticated Command Center productivity backfill endpoint and route it through the legacy API shim.
- Keep productivity LOC/hour sentinels safe for legacy payloads and document the backfill contract.
- Cover the backfill path, auth gate, productivity analytics, and route registration with tests.
Files changed:
.changeset/fn-6714-command-center-loc-backfill.md | 5 +
docs/architecture.md | 4 +-
docs/storage.md | 4 +-
...mmit-association-diff-backfill.real-git.test.ts | 140 +++++++++++++++++++++
packages/core/src/index.ts | 1 +
packages/core/src/store.ts | 76 ++++++++++-
packages/core/src/types.ts | 9 ++
packages/dashboard/app/api/legacy.ts | 16 +++
.../command-center/areas/ProductivityArea.tsx | 8 +-
.../register-command-center-routes.auth.test.ts | 48 ++++---
.../register-command-center-routes.test.ts | 49 +++++++-
.../src/routes/register-command-center-routes.ts | 20 +++
12 files changed, 354 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-6714
Fusion-Task-Lineage: 657c7789-bbe4-4611-abca-127af05b0300
2026-06-22 03:42:24 -07:00
..
2026-06-20 23:49:57 -07:00
2026-04-25 09:09:31 -07:00
2026-06-21 03:09:35 -07:00
2026-06-19 16:47:33 -07:00
2026-06-21 10:50:48 -07:00
2026-06-21 13:52:47 +05:30
2026-06-20 20:07:07 -07:00
2026-06-20 22:47:39 -07:00
2026-06-19 20:47:32 -07:00
2026-06-21 03:40:56 -07:00
2026-06-21 00:05:03 -07:00
2026-06-21 03:53:43 -07:00
2026-06-21 13:32:19 -07:00
2026-06-20 09:58:23 -07:00
2026-06-19 20:03:24 -07:00
2026-06-19 19:05:49 -07:00
2026-06-20 12:00:51 -07:00
2026-06-20 19:48:09 -07:00
2026-06-20 12:46:34 -07:00
2026-06-19 16:47:33 -07:00
2026-06-19 07:41:44 -07:00
2026-06-22 03:42:24 -07:00
2026-06-19 16:47:33 -07:00
2026-06-21 09:00:40 -07:00
2026-06-19 16:47:33 -07:00
2026-06-19 16:47:33 -07:00
2026-06-19 16:47:33 -07:00
2026-06-19 16:47:34 -07:00
2026-06-19 22:14:57 -07:00
2026-06-20 08:43:35 -07:00
2026-06-20 05:14:25 -07:00
2026-06-20 08:20:39 -07:00
2026-06-20 02:38:27 -07:00
2026-06-20 02:25:11 -07:00
2026-06-20 05:04:25 -07:00
2026-06-20 10:35:40 -07:00
2026-06-20 08:57:45 -07:00
2026-06-20 15:42:16 -07:00
2026-06-21 09:00:40 -07:00
2026-06-22 03:34:14 -07:00
2026-06-21 16:01:07 -07:00
2026-06-19 20:59:05 -07:00
2026-06-20 04:40:31 -07:00
2026-06-20 08:13:33 -07:00
2026-06-20 15:11:22 -07:00
2026-06-20 10:21:26 -07:00
2026-06-20 16:33:07 -07:00
2026-06-20 21:32:43 -07:00
2026-06-21 16:13:54 -07:00
2026-06-20 21:23:17 -07:00
2026-06-21 09:00:40 -07:00
2026-06-21 09:00:40 -07:00
2026-06-22 03:34:14 -07:00
2026-06-21 13:25:41 -07:00
2026-06-21 13:25:41 -07:00
2026-06-21 13:25:41 -07:00
2026-06-21 16:34:41 -07:00
2026-06-21 16:40:32 -07:00
2026-06-21 20:28:33 -07:00
2026-06-21 20:55:28 -07:00
2026-06-21 19:52:16 -07:00
2026-06-21 22:43:34 -07:00
2026-06-21 18:22:43 -07:00
2026-06-21 23:37:25 -07:00
2026-06-21 22:04:32 -07:00
2026-06-21 22:51:07 -07:00
2026-06-21 23:15:46 -07:00
2026-06-21 23:07:55 -07:00
2026-06-21 23:02:16 -07:00
2026-06-21 23:44:26 -07:00
2026-06-21 00:15:00 -07:00
2026-06-21 13:25:41 -07:00
2026-06-19 16:47:34 -07:00
2026-06-19 21:46:00 -07:00
2026-06-21 02:15:24 -07:00
2026-06-13 12:11:05 -07:00
2026-06-20 18:04:02 -07:00
2026-06-21 09:41:51 -07:00
2026-06-12 01:57:04 -07:00
2026-06-20 17:17:32 -07:00
2026-06-19 16:47:34 -07:00
2026-06-21 13:25:41 -07:00
2026-06-21 03:40:56 -07:00
2026-06-21 13:25:40 -07:00
2026-06-22 03:34:15 -07:00
2026-06-20 00:41:36 -07:00
2026-06-19 17:25:35 -07:00
2026-06-21 11:17:56 -07:00
2026-06-21 00:02:31 -07:00