satdetect-dev / data /logs /app.log
coderuday21's picture
Cursor
Deploy satdetect-dev with Priyanka audit/exception logs.
d70361b
Raw
History Blame Contribute Delete
216 kB
2026-08-27 14:05:23,989 INFO [app.main] Importing AI Change Detection app module
2026-08-27 14:05:23,989 INFO [app.main] Running database initialization
2026-08-27 14:05:24,002 INFO [app.main] Database initialization complete
2026-08-27 14:05:24,073 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 14:05:24,233 INFO [rasterio._env] GDAL signalled an error: err_no=1, msg='GRID 54_2025.tif: TIFFFetchDirectory:C:\\Users\\udayb\\cursor\\change_detection_webapp\\data\\library_sources\\central_delhi\\Images\\GRID 54_2025.tif: Can not read TIFF directory count'
2026-08-27 14:05:24,233 INFO [rasterio._env] GDAL signalled an error: err_no=1, msg='GRID 54_2025.tif: TIFFReadDirectory:Failed to read directory at offset 6382066192'
2026-08-27 14:05:24,234 WARNING [app.dda.geotiff_io] rasterio read failed (GRID 54_2025.tif: TIFFReadDirectory:Failed to read directory at offset 6382066192), falling back to Pillow
2026-08-27 14:05:24,318 WARNING [app.dda.geotiff_io] Pillow inspect failed for GRID 54_2025.tif: cannot identify image file 'C:\\Users\\udayb\\cursor\\change_detection_webapp\\data\\library_sources\\central_delhi\\Images\\GRID 54_2025.tif'
2026-08-27 14:05:24,318 WARNING [app.dda.tree.sync_service] Skipping image with invalid dimensions (0x0): central_delhi/Images/GRID 54_2025.tif
2026-08-27 14:05:24,322 INFO [rasterio._env] GDAL signalled an error: err_no=1, msg='GRID 54_2026.tif: TIFFFetchDirectory:C:\\Users\\udayb\\cursor\\change_detection_webapp\\data\\library_sources\\central_delhi\\Images\\GRID 54_2026.tif: Can not read TIFF directory count'
2026-08-27 14:05:24,323 INFO [rasterio._env] GDAL signalled an error: err_no=1, msg='GRID 54_2026.tif: TIFFReadDirectory:Failed to read directory at offset 5461254560'
2026-08-27 14:05:24,323 WARNING [app.dda.geotiff_io] rasterio read failed (GRID 54_2026.tif: TIFFReadDirectory:Failed to read directory at offset 5461254560), falling back to Pillow
2026-08-27 14:05:24,323 WARNING [app.dda.geotiff_io] Pillow inspect failed for GRID 54_2026.tif: cannot identify image file 'C:\\Users\\udayb\\cursor\\change_detection_webapp\\data\\library_sources\\central_delhi\\Images\\GRID 54_2026.tif'
2026-08-27 14:05:24,323 WARNING [app.dda.tree.sync_service] Skipping image with invalid dimensions (0x0): central_delhi/Images/GRID 54_2026.tif
2026-08-27 14:05:24,348 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 14:05:24,348 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 14:05:24,357 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 14:05:24,358 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 14:05:24,437 INFO [uvicorn.error] Started server process [20996]
2026-08-27 14:05:24,437 INFO [uvicorn.error] Started server process [20996]
2026-08-27 14:05:24,437 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 14:05:24,437 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 14:05:24,437 INFO [app.main] FastAPI startup event completed
2026-08-27 14:05:50,090 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 14:05:50,646 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 14:05:50,646 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 14:05:50,646 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 14:05:50,649 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 14:05:50,650 INFO [uvicorn.error] Application startup complete.
2026-08-27 14:05:50,650 INFO [uvicorn.error] Application startup complete.
2026-08-27 14:05:50,650 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 14:05:50,650 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 14:06:02,890 INFO [uvicorn.access] 127.0.0.1:38286 - "GET / HTTP/1.1" 307
2026-08-27 14:06:02,943 INFO [uvicorn.access] 127.0.0.1:38286 - "GET /login HTTP/1.1" 200
2026-08-27 14:06:02,969 INFO [uvicorn.access] 127.0.0.1:38286 - "GET /static/css/dda.css?v=45 HTTP/1.1" 200
2026-08-27 14:06:02,971 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 14:06:02,971 INFO [uvicorn.access] 127.0.0.1:17102 - "GET /static/js/dda/login.js?v=4 HTTP/1.1" 200
2026-08-27 14:06:05,983 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:06:05,985 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:07:05,979 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:07:05,981 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:08:05,979 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:08:05,981 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:09:05,965 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:09:05,973 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:10:05,968 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:10:05,970 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:11:05,967 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:11:05,970 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:12:05,972 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:12:05,976 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:13:05,965 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:13:05,973 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 14:13:17,300 INFO [uvicorn.access] 127.0.0.1:38035 - "POST /api/auth/login HTTP/1.1" 200
2026-08-27 14:13:17,342 INFO [uvicorn.access] 127.0.0.1:38035 - "GET / HTTP/1.1" 200
2026-08-27 14:13:17,358 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /static/css/dda.css?v=45 HTTP/1.1" 304
2026-08-27 14:13:17,362 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /static/js/dda/app.js?v=28 HTTP/1.1" 200
2026-08-27 14:13:17,363 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 14:13:17,364 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /static/js/dda/home.js?v=2 HTTP/1.1" 304
2026-08-27 14:13:17,377 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:17,578 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:17,581 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:17,596 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:17,599 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/history HTTP/1.1" 200
2026-08-27 14:13:34,885 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /library HTTP/1.1" 200
2026-08-27 14:13:34,906 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /static/js/dda/tree.js?v=5 HTTP/1.1" 200
2026-08-27 14:13:34,907 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /static/js/dda/library.js?v=18 HTTP/1.1" 200
2026-08-27 14:13:34,907 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /static/js/dda/map.js?v=4 HTTP/1.1" 304
2026-08-27 14:13:34,908 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /static/js/dda/pairs.js?v=8 HTTP/1.1" 200
2026-08-27 14:13:34,956 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/me HTTP/1.1" 200
2026-08-27 14:13:34,958 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:34,970 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:34,984 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 14:13:34,996 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 14:13:34,998 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:35,087 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/tree HTTP/1.1" 200
2026-08-27 14:13:35,098 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 14:13:35,125 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 14:13:35,148 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 14:13:36,075 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /masters/zones HTTP/1.1" 200
2026-08-27 14:13:36,102 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /static/js/dda/masters.js?v=1 HTTP/1.1" 200
2026-08-27 14:13:36,117 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:36,155 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:36,158 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/masters/zones HTTP/1.1" 200
2026-08-27 14:13:36,160 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:37,067 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /masters/villages HTTP/1.1" 200
2026-08-27 14:13:37,083 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:37,117 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:37,124 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/masters/villages HTTP/1.1" 200
2026-08-27 14:13:37,131 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:38,374 INFO [uvicorn.access] 127.0.0.1:38035 - "GET / HTTP/1.1" 200
2026-08-27 14:13:38,393 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:38,408 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:38,433 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:38,437 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/history HTTP/1.1" 200
2026-08-27 14:13:38,449 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:40,529 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /library HTTP/1.1" 200
2026-08-27 14:13:40,553 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/me HTTP/1.1" 200
2026-08-27 14:13:40,556 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:40,570 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:40,584 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 14:13:40,595 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 14:13:40,596 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:40,685 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/tree HTTP/1.1" 200
2026-08-27 14:13:40,696 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 14:13:40,708 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 14:13:40,737 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 14:13:41,421 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /library HTTP/1.1" 200
2026-08-27 14:13:41,458 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/me HTTP/1.1" 200
2026-08-27 14:13:41,462 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:41,490 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:41,498 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 14:13:41,508 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 14:13:41,519 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:41,602 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/tree HTTP/1.1" 200
2026-08-27 14:13:41,613 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 14:13:41,624 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 14:13:41,642 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 14:13:42,655 INFO [uvicorn.access] 127.0.0.1:58250 - "GET / HTTP/1.1" 200
2026-08-27 14:13:42,699 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:42,708 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/history HTTP/1.1" 200
2026-08-27 14:13:42,716 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:42,725 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:42,741 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:44,837 INFO [uvicorn.access] 127.0.0.1:14686 - "GET / HTTP/1.1" 200
2026-08-27 14:13:44,870 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:44,880 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:44,898 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/history HTTP/1.1" 200
2026-08-27 14:13:44,908 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:44,915 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:46,385 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /library HTTP/1.1" 200
2026-08-27 14:13:46,412 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/me HTTP/1.1" 200
2026-08-27 14:13:46,415 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:46,431 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:46,442 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 14:13:46,454 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 14:13:46,459 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:46,543 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/tree HTTP/1.1" 200
2026-08-27 14:13:46,553 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 14:13:46,566 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 14:13:46,581 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 14:13:48,772 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /masters/zones HTTP/1.1" 200
2026-08-27 14:13:48,802 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:48,824 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:48,828 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/masters/zones HTTP/1.1" 200
2026-08-27 14:13:48,843 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:49,498 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /masters/villages HTTP/1.1" 200
2026-08-27 14:13:49,514 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:49,543 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:49,549 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/masters/villages HTTP/1.1" 200
2026-08-27 14:13:49,560 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:51,370 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /detect HTTP/1.1" 200
2026-08-27 14:13:51,393 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /static/js/dda/compare.js?v=24 HTTP/1.1" 200
2026-08-27 14:13:51,397 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /static/js/dda/result.js?v=22 HTTP/1.1" 200
2026-08-27 14:13:51,398 INFO [uvicorn.access] 127.0.0.1:58250 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:51,399 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/me HTTP/1.1" 200
2026-08-27 14:13:51,440 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 14:13:51,462 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 14:13:51,488 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:51,493 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:51,566 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/tree HTTP/1.1" 200
2026-08-27 14:13:51,575 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 14:13:51,586 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 14:13:51,609 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/local/thumb?path=central_delhi/Images/1_b31822a44fb74300be250978945fba34_after.png HTTP/1.1" 200
2026-08-27 14:13:51,610 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/local/thumb?path=central_delhi/Images/1_b31822a44fb74300be250978945fba34_before.png HTTP/1.1" 200
2026-08-27 14:13:51,611 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 14:13:53,236 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /reports HTTP/1.1" 200
2026-08-27 14:13:53,255 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /static/js/dda/reports.js?v=10 HTTP/1.1" 200
2026-08-27 14:13:53,259 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:53,301 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:53,306 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:53,307 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=100 HTTP/1.1" 200
2026-08-27 14:13:53,314 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/history HTTP/1.1" 200
2026-08-27 14:13:54,862 INFO [uvicorn.access] 127.0.0.1:65481 - "GET / HTTP/1.1" 200
2026-08-27 14:13:54,895 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:54,905 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:54,919 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/history HTTP/1.1" 200
2026-08-27 14:13:54,922 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:54,940 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:57,122 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /library HTTP/1.1" 200
2026-08-27 14:13:57,139 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:13:57,145 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/me HTTP/1.1" 200
2026-08-27 14:13:57,163 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:13:57,175 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 14:13:57,188 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 14:13:57,192 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:13:57,279 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/tree HTTP/1.1" 200
2026-08-27 14:13:57,288 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 14:13:57,316 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 14:13:57,347 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 14:14:05,976 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:14:05,983 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:14:27,971 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:14:39,580 INFO [uvicorn.access] 127.0.0.1:65481 - "GET / HTTP/1.1" 200
2026-08-27 14:14:39,599 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /static/css/dda.css?v=45 HTTP/1.1" 304
2026-08-27 14:14:39,601 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 14:14:39,621 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:14:39,637 INFO [uvicorn.access] 127.0.0.1:52041 - "GET /api/me HTTP/1.1" 200
2026-08-27 14:14:39,646 INFO [uvicorn.access] 127.0.0.1:38035 - "GET /api/history HTTP/1.1" 200
2026-08-27 14:14:39,655 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:14:39,668 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 14:15:05,985 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:15:05,992 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:15:09,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:15:39,613 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:16:05,979 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:16:05,986 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:16:09,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:16:39,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:17:05,977 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:17:05,987 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:17:09,613 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:17:39,614 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:18:05,983 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:18:05,992 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:18:09,614 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:18:39,614 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:19:05,978 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:19:05,989 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:19:09,613 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:19:39,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:20:05,984 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:20:05,993 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:20:09,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:20:39,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:21:05,980 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:21:05,988 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:21:09,613 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:21:39,616 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:22:05,979 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:22:05,986 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:22:09,613 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:22:39,614 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:23:05,975 INFO [uvicorn.access] 127.0.0.1:14686 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:23:05,984 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:23:09,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:23:39,613 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:24:05,974 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:24:05,988 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:24:09,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:24:39,613 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:25:05,987 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:25:05,995 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:25:09,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:25:39,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:26:05,979 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:26:05,989 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:26:09,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:26:39,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:27:05,976 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:27:05,983 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:27:09,616 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:27:39,616 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:28:05,979 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:28:05,986 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:28:09,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:28:39,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:29:05,983 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:29:05,991 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:29:09,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:29:39,616 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:30:05,983 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:30:05,995 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:30:09,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:30:39,616 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:31:05,973 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:31:05,987 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:31:09,613 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:31:39,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:32:05,981 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:32:05,988 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:32:09,614 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:32:39,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:33:05,980 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:33:05,987 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:33:09,615 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:33:39,616 INFO [uvicorn.access] 127.0.0.1:65481 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:34:05,977 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:34:05,985 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:34:09,614 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:34:39,614 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:35:05,988 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:35:05,999 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:35:09,614 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:35:39,615 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:36:05,987 INFO [uvicorn.access] 127.0.0.1:50445 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:36:05,998 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:36:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:36:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:37:05,987 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:37:05,996 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:37:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:37:39,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:38:05,980 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:38:05,989 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:38:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:38:39,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:39:05,975 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:39:05,985 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:39:09,616 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:39:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:40:05,978 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:40:05,985 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:40:09,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:40:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:41:05,978 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:41:05,989 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:41:09,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:41:39,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:42:05,976 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:42:05,989 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:42:09,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:42:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:43:05,978 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:43:05,989 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:43:09,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:43:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:44:05,978 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:44:05,985 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:44:09,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:44:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:45:05,983 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:45:05,990 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:45:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:45:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:46:05,974 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:46:05,984 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:46:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:46:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:47:05,980 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:47:05,988 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:47:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:47:39,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:48:05,975 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:48:05,986 INFO [uvicorn.access] 127.0.0.1:32492 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:48:09,615 INFO [uvicorn.access] 127.0.0.1:32492 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:48:39,614 INFO [uvicorn.access] 127.0.0.1:32492 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:49:05,974 INFO [uvicorn.access] 127.0.0.1:32492 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:49:05,983 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:49:09,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:49:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:50:05,979 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:50:05,986 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:50:09,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:50:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:51:05,974 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:51:05,982 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:51:09,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:51:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:52:05,980 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:52:05,989 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:52:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:52:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:53:05,974 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:53:05,984 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:53:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:53:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:54:05,975 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:54:05,995 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:54:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:54:39,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:55:05,990 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:55:05,999 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:55:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:55:39,617 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:56:05,976 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:56:05,984 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:56:09,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:56:39,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:57:05,978 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:57:05,985 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:57:09,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:57:39,616 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:58:05,974 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:58:05,982 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:58:09,616 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:58:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:59:05,974 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:59:05,986 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:59:09,616 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 14:59:39,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:00:05,980 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:00:05,992 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:00:09,617 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:00:39,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:01:05,975 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:01:05,983 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:01:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:01:39,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:02:05,980 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:02:05,987 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:02:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:02:39,615 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:03:05,984 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:03:05,993 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:03:09,614 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:03:39,613 INFO [uvicorn.access] 127.0.0.1:2077 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:04:05,976 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:04:05,983 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:04:09,613 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:04:39,616 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:05:05,988 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:05:06,001 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:05:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:05:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:06:05,991 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:06:06,000 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:06:09,617 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:06:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:07:05,979 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:07:05,990 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:07:09,613 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:07:39,617 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:08:05,975 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:08:05,985 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:08:09,613 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:08:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:09:05,975 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:09:05,984 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:09:09,616 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:09:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:10:05,985 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:10:05,993 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:10:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:10:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:11:05,974 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:11:05,986 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:11:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:11:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:12:05,980 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:12:05,989 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:12:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:12:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:13:05,978 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:13:05,990 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:13:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:13:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:14:05,977 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:14:05,984 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:14:09,617 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:14:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:15:05,973 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:15:05,985 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:15:09,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:15:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:16:05,977 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:16:05,984 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:16:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:16:39,613 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:17:05,982 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:17:05,990 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:17:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:17:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:18:05,980 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:18:05,989 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:18:09,616 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:18:39,616 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:19:05,982 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:19:05,991 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:19:09,613 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:19:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:20:05,978 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:20:05,985 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:20:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:20:39,616 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:21:05,983 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:21:05,992 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:21:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:21:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:22:05,979 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:22:05,986 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:22:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:22:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:23:05,979 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:23:05,993 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:23:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:23:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:24:05,977 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:24:05,987 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:24:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:24:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:25:05,988 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:25:05,995 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:25:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:25:39,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:26:05,974 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:26:05,982 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:26:09,616 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:26:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:27:05,977 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:27:05,984 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:27:09,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:27:39,613 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:28:05,974 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:28:05,984 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:28:09,615 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:28:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:29:05,983 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:29:05,992 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:29:09,619 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:29:39,614 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:30:05,980 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:30:05,990 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:30:09,969 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:31:05,982 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:31:05,992 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:31:05,999 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:32:05,975 INFO [uvicorn.access] 127.0.0.1:49551 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:32:05,985 INFO [uvicorn.access] 127.0.0.1:23236 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:32:05,992 INFO [uvicorn.access] 127.0.0.1:23236 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:33:05,974 INFO [uvicorn.access] 127.0.0.1:23236 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:33:05,983 INFO [uvicorn.access] 127.0.0.1:23236 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:33:05,990 INFO [uvicorn.access] 127.0.0.1:23236 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:34:05,978 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:34:05,985 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:34:05,992 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:35:05,986 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:35:05,993 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:35:05,999 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:36:05,982 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:36:05,990 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:36:05,997 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:37:05,986 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:37:05,993 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:37:05,999 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:38:05,974 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:38:05,981 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:38:05,988 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:39:05,973 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:39:05,984 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:39:05,992 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:39:33,963 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:39:45,773 INFO [uvicorn.access] 127.0.0.1:18780 - "GET / HTTP/1.1" 200
2026-08-27 15:39:45,793 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /static/css/dda.css?v=45 HTTP/1.1" 304
2026-08-27 15:39:45,793 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /static/js/dda/app.js?v=28 HTTP/1.1" 304
2026-08-27 15:39:45,794 INFO [uvicorn.access] 127.0.0.1:37175 - "GET /static/js/dda/home.js?v=2 HTTP/1.1" 304
2026-08-27 15:39:45,796 INFO [uvicorn.access] 127.0.0.1:31276 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 15:39:45,817 INFO [uvicorn.access] 127.0.0.1:31276 - "GET /api/me HTTP/1.1" 200
2026-08-27 15:39:45,824 INFO [uvicorn.access] 127.0.0.1:31276 - "GET /api/me HTTP/1.1" 200
2026-08-27 15:39:45,843 INFO [uvicorn.access] 127.0.0.1:37175 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:39:45,849 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/history HTTP/1.1" 200
2026-08-27 15:39:45,855 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 15:39:54,011 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 15:39:54,012 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 15:39:54,025 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 15:39:54,030 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 15:39:54,050 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 15:39:55,117 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 15:39:55,123 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 15:39:55,210 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/tree HTTP/1.1" 200
2026-08-27 15:39:55,222 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 15:39:55,234 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 15:39:55,250 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 15:39:56,095 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 15:39:56,096 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 15:39:56,108 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 15:39:56,110 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 15:39:56,124 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 15:39:57,350 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/history HTTP/1.1" 200
2026-08-27 15:39:58,188 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/images HTTP/1.1" 200
2026-08-27 15:39:58,188 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/config HTTP/1.1" 200
2026-08-27 15:39:58,201 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/local/area-groups HTTP/1.1" 200
2026-08-27 15:39:58,202 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/local/config HTTP/1.1" 200
2026-08-27 15:39:58,216 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/auto-detect HTTP/1.1" 200
2026-08-27 15:40:02,478 INFO [uvicorn.access] 127.0.0.1:18780 - "POST /api/auth/logout HTTP/1.1" 200
2026-08-27 15:40:02,490 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /login HTTP/1.1" 200
2026-08-27 15:40:02,516 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /static/js/dda/login.js?v=4 HTTP/1.1" 304
2026-08-27 15:40:04,774 INFO [uvicorn.access] 127.0.0.1:18780 - "POST /api/auth/login HTTP/1.1" 200
2026-08-27 15:40:04,797 INFO [uvicorn.access] 127.0.0.1:18780 - "GET / HTTP/1.1" 200
2026-08-27 15:40:04,830 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/me HTTP/1.1" 200
2026-08-27 15:40:04,844 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/me HTTP/1.1" 200
2026-08-27 15:40:04,862 INFO [uvicorn.access] 127.0.0.1:37175 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:40:04,865 INFO [uvicorn.access] 127.0.0.1:31276 - "GET /api/history HTTP/1.1" 200
2026-08-27 15:40:04,878 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 15:40:05,977 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:40:05,984 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:40:09,679 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /profile HTTP/1.1" 200
2026-08-27 15:40:09,713 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /static/js/dda/profile.js?v=2 HTTP/1.1" 200
2026-08-27 15:40:09,722 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/me HTTP/1.1" 200
2026-08-27 15:40:09,737 INFO [uvicorn.access] 127.0.0.1:29496 - "GET /api/auth/totp HTTP/1.1" 200
2026-08-27 15:40:09,742 INFO [uvicorn.access] 127.0.0.1:37175 - "GET /api/me HTTP/1.1" 200
2026-08-27 15:40:09,758 INFO [uvicorn.access] 127.0.0.1:18780 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:40:09,767 INFO [uvicorn.access] 127.0.0.1:31276 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 15:40:15,278 INFO [uvicorn.access] 127.0.0.1:31276 - "POST /api/auth/totp/setup HTTP/1.1" 200
2026-08-27 15:40:39,972 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:41:05,977 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:41:05,987 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:41:09,971 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:41:39,970 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:42:05,995 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:42:06,006 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:42:09,733 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:42:10,167 INFO [uvicorn.access] 127.0.0.1:47014 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:42:39,970 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:42:39,979 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:43:05,981 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:43:09,972 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:43:09,980 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:43:39,972 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:44:05,982 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:44:05,988 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:44:40,973 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:45:06,056 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:45:06,067 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:45:41,971 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:46:05,976 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:46:05,985 INFO [uvicorn.access] 127.0.0.1:61491 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 15:48:57,200 INFO [app.main] Importing AI Change Detection app module
2026-08-27 15:48:57,200 INFO [app.main] Running database initialization
2026-08-27 15:48:57,230 INFO [app.main] Database initialization complete
2026-08-27 15:48:57,290 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 15:48:57,338 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 15:48:57,338 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 15:48:57,357 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 15:48:57,358 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 15:48:57,461 INFO [uvicorn.error] Started server process [18960]
2026-08-27 15:48:57,461 INFO [uvicorn.error] Started server process [18960]
2026-08-27 15:48:57,461 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 15:48:57,461 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 15:48:57,461 INFO [app.main] FastAPI startup event completed
2026-08-27 15:49:10,343 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 15:49:10,990 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 15:49:10,991 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 15:49:10,991 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 15:49:10,992 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 15:49:10,993 INFO [uvicorn.error] Application startup complete.
2026-08-27 15:49:10,993 INFO [uvicorn.error] Application startup complete.
2026-08-27 15:49:10,993 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 15:49:10,993 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 15:49:36,128 INFO [uvicorn.access] 127.0.0.1:27803 - "GET / HTTP/1.1" 307
2026-08-27 15:49:36,176 INFO [uvicorn.access] 127.0.0.1:27803 - "GET /login HTTP/1.1" 200
2026-08-27 15:49:36,194 INFO [uvicorn.access] 127.0.0.1:27803 - "GET /static/css/dda.css?v=46 HTTP/1.1" 200
2026-08-27 15:49:36,199 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /static/js/dda/login.js?v=6 HTTP/1.1" 200
2026-08-27 15:49:36,200 INFO [uvicorn.access] 127.0.0.1:41093 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 15:49:45,966 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:50:05,972 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:50:05,986 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:50:46,966 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:51:05,978 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:51:05,979 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:51:47,965 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:52:05,969 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:52:05,971 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:52:48,964 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:53:05,970 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:53:05,972 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:53:49,966 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:54:05,974 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:54:05,976 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:54:50,966 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:55:05,974 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:55:05,977 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:55:51,965 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:56:05,980 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:56:05,985 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:56:52,966 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:57:05,971 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:57:05,973 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:57:53,966 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:58:05,976 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:58:05,979 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:58:54,965 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:59:05,983 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:59:05,986 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 15:59:55,965 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:00:05,979 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:00:05,985 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:00:56,965 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:01:05,986 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:01:05,990 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:01:57,965 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:02:05,972 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:02:05,975 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:02:58,965 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:03:05,974 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:03:05,976 INFO [uvicorn.access] 127.0.0.1:13905 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:03:59,966 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:04:05,972 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:04:05,977 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:05:00,965 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:05:05,974 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:05:05,982 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:06:01,969 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:06:05,973 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:06:05,976 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:07:02,965 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:07:05,975 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:07:05,982 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:08:03,965 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:08:05,972 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:08:05,975 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:09:04,965 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:09:05,966 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:09:05,970 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:10:05,971 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:10:05,973 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:10:05,975 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:11:05,970 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:11:05,974 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:11:05,977 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:12:05,971 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:12:05,976 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:12:05,978 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:13:05,976 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:13:05,979 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:13:05,983 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:14:05,973 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:14:05,976 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:14:05,978 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:15:05,966 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:15:05,969 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:15:05,971 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:16:05,971 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:16:05,974 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:16:05,976 INFO [uvicorn.access] 127.0.0.1:58221 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:17:09,879 INFO [app.main] Importing AI Change Detection app module
2026-08-27 16:17:09,879 INFO [app.main] Running database initialization
2026-08-27 16:17:09,892 INFO [app.main] Database initialization complete
2026-08-27 16:17:09,964 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 16:17:10,012 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 16:17:10,012 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 16:17:10,022 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 16:17:10,023 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 16:17:10,096 INFO [uvicorn.error] Started server process [13308]
2026-08-27 16:17:10,096 INFO [uvicorn.error] Started server process [13308]
2026-08-27 16:17:10,096 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 16:17:10,096 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 16:17:10,096 INFO [app.main] FastAPI startup event completed
2026-08-27 16:17:21,452 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 16:17:21,987 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 16:17:21,987 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 16:17:21,988 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 16:17:21,989 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 16:17:21,990 INFO [uvicorn.error] Application startup complete.
2026-08-27 16:17:21,990 INFO [uvicorn.error] Application startup complete.
2026-08-27 16:17:21,991 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 16:17:21,991 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 16:17:48,823 INFO [uvicorn.access] 127.0.0.1:23662 - "GET / HTTP/1.1" 307
2026-08-27 16:17:48,869 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /login HTTP/1.1" 200
2026-08-27 16:17:48,893 INFO [uvicorn.access] 127.0.0.1:50056 - "GET /static/css/dda.css?v=46 HTTP/1.1" 304
2026-08-27 16:17:48,894 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /static/js/dda/login.js?v=7 HTTP/1.1" 200
2026-08-27 16:17:48,895 INFO [uvicorn.access] 127.0.0.1:4500 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 16:18:05,968 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:18:05,973 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:18:05,976 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:19:05,967 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:19:05,975 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:19:05,977 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:19:21,046 WARNING [app.notifier] SMS API failed: API returned 404: Not Found
2026-08-27 16:19:21,047 WARNING [app.main] Login OTP SMS to ******1298 not sent: API returned 404: Not Found
2026-08-27 16:19:21,048 INFO [uvicorn.access] 127.0.0.1:23662 - "POST /api/auth/login HTTP/1.1" 503
2026-08-27 16:19:30,225 WARNING [app.notifier] SMS API failed: API returned 404: Not Found
2026-08-27 16:19:30,225 WARNING [app.main] Login OTP SMS to ******1298 not sent: API returned 404: Not Found
2026-08-27 16:19:30,226 INFO [uvicorn.access] 127.0.0.1:23662 - "POST /api/auth/login HTTP/1.1" 503
2026-08-27 16:20:05,970 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:20:05,972 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:20:05,975 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:21:05,965 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:21:05,968 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:21:05,972 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:22:05,972 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:22:05,975 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:22:05,977 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:23:05,976 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:23:05,979 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:23:05,983 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:24:05,979 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:24:05,984 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:24:05,991 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:25:05,975 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:25:05,978 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:25:05,980 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:26:05,972 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:26:05,975 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:26:05,977 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:27:05,965 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:27:05,974 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:27:05,976 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:28:05,974 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:28:05,977 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:28:05,979 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:29:05,970 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:29:05,973 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:29:05,975 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:30:05,965 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:30:05,968 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:30:05,971 INFO [uvicorn.access] 127.0.0.1:23662 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:31:02,315 INFO [app.main] Importing AI Change Detection app module
2026-08-27 16:31:02,316 INFO [app.main] Running database initialization
2026-08-27 16:31:02,360 INFO [app.main] Database initialization complete
2026-08-27 16:31:02,437 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 16:31:02,512 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 16:31:02,512 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 16:31:02,525 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 16:31:02,526 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 16:31:02,605 INFO [uvicorn.error] Started server process [2960]
2026-08-27 16:31:02,605 INFO [uvicorn.error] Started server process [2960]
2026-08-27 16:31:02,605 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 16:31:02,605 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 16:31:02,606 INFO [app.main] FastAPI startup event completed
2026-08-27 16:31:16,613 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 16:31:17,234 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 16:31:17,235 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 16:31:17,235 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 16:31:17,236 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 16:31:17,238 INFO [uvicorn.error] Application startup complete.
2026-08-27 16:31:17,238 INFO [uvicorn.error] Application startup complete.
2026-08-27 16:31:17,239 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 16:31:17,239 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 16:31:41,128 INFO [uvicorn.access] 127.0.0.1:63221 - "GET / HTTP/1.1" 307
2026-08-27 16:31:41,173 INFO [uvicorn.access] 127.0.0.1:63221 - "GET /login HTTP/1.1" 200
2026-08-27 16:31:41,192 INFO [uvicorn.access] 127.0.0.1:63221 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 16:31:41,196 INFO [uvicorn.access] 127.0.0.1:12122 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 16:31:41,196 INFO [uvicorn.access] 127.0.0.1:7127 - "GET /static/js/dda/login.js?v=8 HTTP/1.1" 200
2026-08-27 16:31:41,199 INFO [uvicorn.access] 127.0.0.1:62383 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 16:32:05,980 INFO [uvicorn.access] 127.0.0.1:7127 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:32:05,982 INFO [uvicorn.access] 127.0.0.1:7127 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:32:05,984 INFO [uvicorn.access] 127.0.0.1:7127 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:33:05,966 INFO [uvicorn.access] 127.0.0.1:7127 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:33:05,969 INFO [uvicorn.access] 127.0.0.1:7127 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:33:05,972 INFO [uvicorn.access] 127.0.0.1:7127 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:34:05,972 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:34:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:34:05,977 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:34:28,186 INFO [uvicorn.access] 127.0.0.1:15743 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 16:35:05,966 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:35:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:35:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:36:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:36:05,976 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:36:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:37:05,969 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:37:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:37:05,980 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:38:05,972 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:38:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:38:05,976 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:39:05,965 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:39:05,970 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:39:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:40:05,966 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:40:05,971 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:40:05,973 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:41:05,968 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:41:05,972 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:41:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:42:05,965 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:42:05,976 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:42:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:43:05,965 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:43:05,968 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:43:05,971 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:44:05,965 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:44:05,973 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:44:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:45:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:45:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:45:05,980 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:46:05,965 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:46:05,968 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:46:05,977 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:47:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:47:05,977 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:47:05,979 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:48:05,966 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:48:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:48:05,979 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:49:05,967 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:49:05,971 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:49:05,973 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:50:05,973 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:50:05,979 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:50:05,981 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:51:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:51:05,976 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:51:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:52:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:52:05,976 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:52:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:53:05,973 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:53:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:53:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:54:05,999 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:54:06,002 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:54:06,004 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:55:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:55:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:55:05,981 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:56:05,966 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:56:05,970 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:56:05,973 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:57:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:57:05,979 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:57:05,981 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:58:05,967 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:58:05,970 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:58:05,973 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:59:05,967 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:59:05,975 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 16:59:05,977 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:00:05,966 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:00:05,969 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:00:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:01:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:01:05,977 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:01:05,980 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:02:05,977 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:02:05,979 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:02:05,981 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:03:05,974 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:03:05,978 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:03:05,980 INFO [uvicorn.access] 127.0.0.1:15743 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:04:05,968 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:04:05,970 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:04:05,972 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:05:05,965 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:05:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:05:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:06:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:06:05,980 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:06:05,982 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:07:05,965 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:07:05,968 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:07:05,978 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:08:05,965 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:08:05,969 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:08:05,972 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:09:05,972 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:09:05,975 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:09:05,977 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:10:05,965 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:10:05,968 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:10:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:11:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:11:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:11:05,981 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:12:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:12:05,982 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:12:05,984 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:13:05,973 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:13:05,977 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:13:05,980 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:14:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:14:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:14:05,981 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:15:05,977 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:15:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:15:05,982 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:16:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:16:05,980 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:16:05,982 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:17:05,990 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:17:05,992 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:17:05,996 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:18:05,971 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:18:05,975 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:18:05,981 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:19:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:19:05,978 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:19:05,980 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:20:05,971 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:20:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:20:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:21:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:21:05,977 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:21:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:22:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:22:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:22:05,978 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:23:05,975 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:23:05,977 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:23:05,980 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:24:05,975 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:24:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:24:05,981 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:25:05,968 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:25:05,970 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:25:05,975 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:26:05,977 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:26:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:26:05,982 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:27:05,966 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:27:05,970 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:27:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:28:05,973 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:28:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:28:05,977 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:29:05,966 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:29:05,969 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:29:05,973 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:30:05,966 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:30:05,968 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:30:05,971 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:31:05,974 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:31:05,976 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:31:05,979 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:32:05,970 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:32:05,972 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:32:05,975 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:33:05,965 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:33:05,970 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:33:05,972 INFO [uvicorn.access] 127.0.0.1:2131 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:34:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:34:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:34:05,978 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:35:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:35:05,979 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:35:05,981 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:36:05,980 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:36:05,983 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:36:05,986 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:37:05,970 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:37:05,973 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:37:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:38:05,970 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:38:05,973 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:38:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:39:05,973 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:39:05,975 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:39:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:40:05,971 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:40:05,975 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:40:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:41:05,970 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:41:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:41:05,979 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:42:05,968 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:42:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:42:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:43:05,971 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:43:05,978 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:43:05,980 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:44:05,967 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:44:05,970 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:44:05,975 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:45:05,972 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:45:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:45:05,978 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:46:05,975 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:46:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:46:05,979 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:47:05,966 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:47:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:47:05,978 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:48:05,966 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:48:05,969 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:48:05,971 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:49:05,971 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:49:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:49:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:50:05,966 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:50:05,968 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:50:05,973 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:51:05,965 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:51:05,968 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:51:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:52:05,973 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:52:05,979 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:52:05,981 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:53:05,975 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:53:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:53:05,982 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:54:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:54:05,979 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:54:05,982 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:55:05,972 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:55:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:55:05,977 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:56:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:56:05,978 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:56:05,981 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:57:05,969 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:57:05,972 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:57:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:58:05,966 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:58:05,973 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:58:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:59:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:59:05,979 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 17:59:05,981 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:00:05,966 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:00:05,970 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:00:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:01:05,975 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:01:05,981 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:01:05,986 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:02:05,970 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:02:05,974 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:02:05,976 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:03:05,973 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:03:05,975 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:03:05,978 INFO [uvicorn.access] 127.0.0.1:47306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:04:05,972 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:04:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:04:05,976 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:05:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:05:05,978 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:05:05,980 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:06:05,976 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:06:05,978 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:06:05,981 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:07:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:07:05,977 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:07:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:08:05,966 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:08:05,971 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:08:05,975 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:09:05,967 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:09:05,969 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:09:05,971 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:10:05,970 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:10:05,973 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:10:05,975 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:11:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:11:05,978 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:11:05,984 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:12:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:12:05,977 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:12:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:13:05,972 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:13:05,975 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:13:05,978 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:14:05,970 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:14:05,973 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:14:05,975 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:15:05,968 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:15:05,977 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:15:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:16:05,980 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:16:05,982 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:16:05,985 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:17:05,972 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:17:05,976 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:17:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:18:05,966 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:18:05,969 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:18:05,972 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:19:05,966 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:19:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:19:05,987 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:20:05,971 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:20:05,975 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:20:05,978 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:21:05,973 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:21:05,976 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:21:05,978 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:22:05,967 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:22:05,970 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:22:05,972 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:23:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:23:05,977 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:23:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:24:05,973 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:24:05,975 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:24:05,978 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:25:05,973 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:25:05,977 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:25:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:26:05,980 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:26:05,982 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:26:05,984 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:27:05,966 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:27:05,970 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:27:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:28:05,973 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:28:05,975 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:28:05,977 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:29:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:29:05,976 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:29:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:30:05,973 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:30:05,979 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:30:05,980 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:31:05,965 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:31:05,968 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:31:05,970 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:32:05,971 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:32:05,980 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:32:05,986 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:33:05,971 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:33:05,974 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:33:05,976 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:34:05,965 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:34:05,980 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:34:05,983 INFO [uvicorn.access] 127.0.0.1:42306 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:35:05,973 INFO [uvicorn.access] 127.0.0.1:47385 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:35:05,975 INFO [uvicorn.access] 127.0.0.1:47385 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:35:05,978 INFO [uvicorn.access] 127.0.0.1:47385 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:36:05,980 INFO [uvicorn.access] 127.0.0.1:47385 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:36:05,983 INFO [uvicorn.access] 127.0.0.1:47385 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:36:05,986 INFO [uvicorn.access] 127.0.0.1:47385 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:37:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:37:05,984 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:37:05,986 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:38:05,971 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:38:05,975 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:38:05,978 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:39:05,972 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:39:05,974 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:39:05,976 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:40:05,981 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:40:05,983 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:40:05,985 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:41:05,982 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:41:05,985 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:41:05,987 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:42:05,966 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:42:05,983 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:42:05,987 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:43:05,966 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:43:05,969 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:43:05,981 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:44:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:44:05,980 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:44:05,982 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:45:05,971 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:45:05,974 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:45:05,976 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:46:05,976 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:46:05,981 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:46:05,983 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:47:05,971 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:47:05,982 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:47:05,985 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:48:05,975 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:48:05,980 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:48:05,982 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:49:05,983 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:49:05,985 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:49:05,987 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:50:05,965 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:50:05,968 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:50:05,973 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:51:05,967 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:51:05,969 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:51:05,972 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:52:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:52:05,980 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:52:05,982 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:53:05,979 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:53:05,983 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:53:05,986 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:54:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:54:05,980 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:54:05,982 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:55:05,971 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:55:05,974 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:55:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:56:05,976 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:56:05,978 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:56:05,980 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:57:05,966 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:57:05,968 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:57:05,972 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:58:05,970 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:58:05,976 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:58:05,979 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:59:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:59:05,979 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 18:59:05,981 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:00:05,974 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:00:05,978 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:00:05,980 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:01:05,975 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:01:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:01:05,980 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:02:05,970 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:02:05,975 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:02:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:03:05,971 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:03:05,975 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:03:05,977 INFO [uvicorn.access] 127.0.0.1:29741 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:04:05,970 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:04:05,976 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:04:05,979 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:05:05,971 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:05:05,974 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:05:05,976 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:06:05,978 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:06:05,981 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:06:05,984 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:07:05,973 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:07:05,976 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:07:05,978 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:08:05,965 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:08:05,975 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:08:05,977 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:09:05,976 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:09:05,978 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:09:05,982 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:10:05,983 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:10:05,986 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:10:05,991 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:11:05,970 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:11:05,981 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:11:05,985 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:12:05,967 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:12:05,975 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:12:05,980 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:13:05,967 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:13:05,984 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:13:05,987 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:14:05,966 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:14:05,973 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:14:05,976 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:15:05,971 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:15:05,974 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:15:05,980 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:16:05,982 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:16:05,984 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:16:05,987 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:17:05,968 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:17:05,978 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:17:05,981 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:18:05,967 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:18:05,977 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:18:05,979 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:19:05,978 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:19:05,981 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:19:05,982 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:20:05,968 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:20:05,975 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:20:05,978 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:21:05,965 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:21:05,979 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:21:05,982 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:22:05,975 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:22:05,977 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:22:05,981 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:23:05,971 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:23:05,975 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:23:05,977 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:24:05,971 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:24:05,974 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:24:05,977 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:25:05,971 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:25:05,973 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:25:05,975 INFO [uvicorn.access] 127.0.0.1:54354 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:26:05,977 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:26:05,980 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:26:05,983 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:27:05,976 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:27:05,978 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:27:05,980 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:28:05,970 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:28:05,972 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:28:05,978 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:29:05,973 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:29:05,979 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:29:05,981 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:30:05,973 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:30:05,975 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:30:05,977 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:31:05,981 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:31:05,985 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:31:05,988 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:32:05,972 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:32:05,975 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:32:05,977 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:33:05,966 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:33:05,969 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:33:05,972 INFO [uvicorn.access] 127.0.0.1:19167 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:34:05,971 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:34:05,973 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:34:05,980 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:35:05,978 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:35:05,981 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:35:05,983 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:36:05,982 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:36:05,984 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:36:05,988 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:37:05,969 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:37:05,979 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:37:05,982 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:38:05,965 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:38:05,974 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:38:05,976 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:39:05,966 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:39:05,970 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:39:05,974 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:40:05,969 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:40:05,973 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:40:05,975 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:41:05,975 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:41:05,978 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:41:05,980 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:42:05,971 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:42:05,974 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:42:05,976 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:43:05,965 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:43:05,975 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:43:05,982 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:44:05,970 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:44:05,973 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:44:05,975 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:45:05,971 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:45:05,973 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:45:05,976 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:46:05,979 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:46:05,983 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:46:05,985 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:47:05,967 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:47:05,976 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:47:05,978 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:48:05,969 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:48:05,971 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:48:05,974 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:49:06,056 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:49:06,059 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:49:06,061 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:50:05,966 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:50:05,968 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:50:05,970 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:51:05,967 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:51:05,972 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:51:05,974 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:52:05,970 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:52:05,972 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:52:05,975 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:53:06,079 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:53:06,083 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:53:06,085 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:54:05,973 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:54:05,976 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:54:05,978 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:55:05,966 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:55:05,970 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:55:05,974 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:55:59,940 INFO [uvicorn.access] 127.0.0.1:44439 - "POST /api/auth/register HTTP/1.1" 200
2026-08-27 19:55:59,952 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /login?registered=1 HTTP/1.1" 200
2026-08-27 19:55:59,979 INFO [uvicorn.access] 127.0.0.1:44439 - "GET /static/css/dda.css?v=47 HTTP/1.1" 304
2026-08-27 19:55:59,981 INFO [uvicorn.access] 127.0.0.1:8495 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 19:55:59,982 INFO [uvicorn.access] 127.0.0.1:44611 - "GET /static/css/style.css?v=34 HTTP/1.1" 304
2026-08-27 19:55:59,983 INFO [uvicorn.access] 127.0.0.1:46188 - "GET /static/js/dda/login.js?v=8 HTTP/1.1" 304
2026-08-27 19:55:59,983 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 304
2026-08-27 19:56:05,968 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:56:05,977 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:56:05,979 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:56:16,823 WARNING [app.notifier] SMS API failed: API returned 404: Not Found
2026-08-27 19:56:16,824 WARNING [app.main] Login OTP SMS to +91******1298 not sent: API returned 404: Not Found
2026-08-27 19:56:16,824 WARNING [app.main] Login OTP for +91******1298 (SMS not delivered): 650540
2026-08-27 19:56:16,826 INFO [uvicorn.access] 127.0.0.1:34860 - "POST /api/auth/login/request-otp HTTP/1.1" 200
2026-08-27 19:56:38,128 INFO [uvicorn.access] 127.0.0.1:34860 - "POST /api/auth/login/resend-otp HTTP/1.1" 429
2026-08-27 19:57:05,974 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:57:05,976 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:57:05,978 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:58:05,971 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:58:05,974 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:58:05,979 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:59:05,967 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:59:05,977 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 19:59:05,982 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:00:05,975 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:00:05,978 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:00:05,984 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:01:05,978 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:01:05,983 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:01:05,985 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:02:05,972 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:02:05,977 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:02:05,984 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:03:05,974 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:03:05,977 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:03:05,980 INFO [uvicorn.access] 127.0.0.1:34860 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:04:05,969 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:04:05,971 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:04:05,980 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:05:05,983 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:05:05,986 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:05:05,988 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:06:05,969 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:06:05,981 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:06:05,987 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:07:05,975 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:07:05,977 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:07:05,981 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:08:05,966 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:08:05,968 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:08:05,971 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:09:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:09:05,975 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:09:05,978 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:10:05,965 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:10:05,968 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:10:05,970 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:11:05,981 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:11:05,986 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:11:05,988 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:12:05,968 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:12:05,972 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:12:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:13:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:13:05,979 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:13:05,981 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:14:05,970 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:14:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:14:05,975 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:15:05,971 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:15:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:15:05,976 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:16:05,982 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:16:05,984 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:16:05,987 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:17:05,972 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:17:05,979 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:17:05,982 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:18:05,977 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:18:05,980 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:18:05,982 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:19:05,978 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:19:05,981 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:19:05,983 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:20:05,971 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:20:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:20:05,976 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:21:05,972 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:21:05,974 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:21:05,977 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:22:05,969 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:22:05,976 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:22:05,978 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:23:05,978 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:23:05,980 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:23:05,983 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:24:05,980 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:24:05,982 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:24:05,984 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:25:05,969 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:25:05,971 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:25:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:26:05,968 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:26:05,970 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:26:05,983 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:27:05,969 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:27:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:27:05,976 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:28:05,974 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:28:05,977 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:28:05,980 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:29:05,974 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:29:05,980 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:29:05,985 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:30:05,971 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:30:05,973 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:30:05,976 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:31:05,981 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:31:05,984 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:31:05,987 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:32:05,971 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:32:05,975 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:32:05,977 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:33:05,967 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:33:05,970 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:33:05,972 INFO [uvicorn.access] 127.0.0.1:54676 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:34:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:34:05,974 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:34:05,976 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:35:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:35:05,974 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:35:05,976 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:36:05,983 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:36:05,986 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:36:05,989 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:37:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:37:05,973 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:37:05,976 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:38:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:38:05,974 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:38:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:39:05,970 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:39:05,973 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:39:05,974 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:40:05,972 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:40:05,980 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:40:05,982 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:41:05,966 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:41:05,969 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:41:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:42:05,973 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:42:05,975 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:42:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:43:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:43:05,974 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:43:05,977 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:44:05,969 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:44:05,973 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:44:05,975 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:45:05,972 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:45:05,974 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:45:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:46:05,970 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:46:05,972 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:46:05,979 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:47:05,970 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:47:05,973 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:47:05,975 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:48:05,972 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:48:05,976 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:48:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:49:05,970 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:49:05,973 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:49:05,975 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:50:05,969 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:50:05,972 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:50:05,974 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:51:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:51:05,979 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:51:05,981 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:52:05,971 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:52:05,975 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:52:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:53:05,972 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:53:05,977 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:53:05,981 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:54:05,981 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:54:05,985 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:54:05,987 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:55:05,966 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:55:05,970 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:55:05,972 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:56:05,982 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:56:05,985 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:56:05,988 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:57:05,976 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:57:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:57:05,981 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:58:05,976 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:58:05,979 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:58:05,983 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:59:05,965 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:59:05,968 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 20:59:05,970 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:00:05,967 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:00:05,970 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:00:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:01:05,975 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:01:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:01:05,980 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:02:05,973 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:02:05,975 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:02:05,978 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:03:05,983 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:03:05,986 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:03:05,989 INFO [uvicorn.access] 127.0.0.1:32080 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:04:05,967 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:04:05,973 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:04:05,975 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:05:05,975 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:05:05,979 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:05:05,983 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:06:05,973 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:06:05,983 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:06:05,985 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:07:05,972 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:07:05,975 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:07:05,977 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:08:05,969 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:08:05,972 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:08:05,974 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:09:05,976 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:09:05,979 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:09:05,982 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:10:05,965 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:10:05,976 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:10:05,978 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:11:05,967 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:11:05,970 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:11:05,973 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:12:05,974 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:12:05,977 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:12:05,980 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:13:05,965 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:13:05,967 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:13:05,970 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:14:05,979 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:14:05,981 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:14:05,983 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:15:05,972 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:15:05,974 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:15:05,976 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:16:05,971 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:16:05,985 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:16:05,987 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:17:05,967 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:17:05,977 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:17:05,980 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:18:05,966 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:18:05,969 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:18:05,970 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:19:05,965 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:19:05,968 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:19:05,976 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:20:05,969 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:20:05,972 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:20:05,974 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:21:05,969 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:21:05,970 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:21:05,973 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:22:05,968 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:22:05,970 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:22:05,972 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:23:05,973 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:23:05,975 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:23:05,980 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:24:05,973 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:24:05,981 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:24:05,983 INFO [uvicorn.access] 127.0.0.1:55067 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:25:12,099 INFO [app.main] Importing AI Change Detection app module
2026-08-27 21:25:12,099 INFO [app.main] Running database initialization
2026-08-27 21:25:12,141 INFO [app.main] Database initialization complete
2026-08-27 21:25:12,195 INFO [app.dda.rbac.seed] RBAC: backfilled role_id for 1 user(s)
2026-08-27 21:25:12,207 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 21:25:12,267 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:25:12,267 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:25:12,285 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 21:25:12,286 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 21:25:12,368 INFO [uvicorn.error] Started server process [7768]
2026-08-27 21:25:12,368 INFO [uvicorn.error] Started server process [7768]
2026-08-27 21:25:12,368 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:25:12,368 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:25:12,368 INFO [app.main] FastAPI startup event completed
2026-08-27 21:25:28,997 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 21:25:29,620 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 21:25:29,620 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 21:25:29,620 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 21:25:29,622 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 21:25:29,623 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:25:29,623 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:25:29,624 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:25:29,624 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:25:50,967 INFO [uvicorn.access] 127.0.0.1:11269 - "GET / HTTP/1.1" 307
2026-08-27 21:25:51,012 INFO [uvicorn.access] 127.0.0.1:11269 - "GET /login HTTP/1.1" 200
2026-08-27 21:25:51,039 INFO [uvicorn.access] 127.0.0.1:23537 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:25:51,039 INFO [uvicorn.access] 127.0.0.1:11269 - "GET /static/js/dda/login.js?v=9 HTTP/1.1" 200
2026-08-27 21:25:51,040 INFO [uvicorn.access] 127.0.0.1:50464 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:25:51,041 INFO [uvicorn.access] 127.0.0.1:44575 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:26:04,130 WARNING [app.notifier] Email API failed: API returned 400: {"type":"https://tools.ietf.org/html/rfc9110#section-15.5.1","title":"One or more validation errors occurred.","status":400,"errors":{"FileName":["The FileName field is required."],"AttachmentBase64":
2026-08-27 21:26:04,131 WARNING [app.main] Login OTP email to ud***@gmail.com not sent: API returned 400: {"type":"https://tools.ietf.org/html/rfc9110#section-15.5.1","title":"One or more validation errors occurred.","status":400,"errors":{"FileName":["The FileName field is required."],"AttachmentBase64":
2026-08-27 21:26:04,131 WARNING [app.main] Login OTP for ud***@gmail.com (email not delivered): 972095
2026-08-27 21:26:04,131 INFO [uvicorn.access] 127.0.0.1:44575 - "POST /api/auth/login/request-otp HTTP/1.1" 200
2026-08-27 21:26:05,967 INFO [uvicorn.access] 127.0.0.1:44575 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:26:05,972 INFO [uvicorn.access] 127.0.0.1:44575 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:26:05,974 INFO [uvicorn.access] 127.0.0.1:44575 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:26:10,916 INFO [uvicorn.access] 127.0.0.1:44575 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:26:57,711 WARNING [app.notifier] Email API failed: API returned 400: {"type":"https://tools.ietf.org/html/rfc9110#section-15.5.1","title":"One or more validation errors occurred.","status":400,"errors":{"FileName":["The FileName field is required."],"AttachmentBase64":
2026-08-27 21:26:57,712 WARNING [app.main] Login OTP email to ud***@gmail.com not sent: API returned 400: {"type":"https://tools.ietf.org/html/rfc9110#section-15.5.1","title":"One or more validation errors occurred.","status":400,"errors":{"FileName":["The FileName field is required."],"AttachmentBase64":
2026-08-27 21:26:57,712 WARNING [app.main] Login OTP for ud***@gmail.com (email not delivered): 941285
2026-08-27 21:26:57,712 INFO [uvicorn.access] 127.0.0.1:44575 - "POST /api/auth/login/resend-otp HTTP/1.1" 200
2026-08-27 21:27:05,981 INFO [uvicorn.access] 127.0.0.1:44575 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:27:05,984 INFO [uvicorn.access] 127.0.0.1:44575 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:27:19,457 INFO [uvicorn.access] 127.0.0.1:44575 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:27:21,865 INFO [uvicorn.access] 127.0.0.1:44575 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:27:35,127 INFO [app.main] Importing AI Change Detection app module
2026-08-27 21:27:35,127 INFO [app.main] Running database initialization
2026-08-27 21:27:35,149 INFO [app.main] Database initialization complete
2026-08-27 21:27:35,198 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 21:27:35,239 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:27:35,239 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:27:35,247 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 21:27:35,248 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 21:27:35,297 INFO [uvicorn.error] Started server process [30696]
2026-08-27 21:27:35,297 INFO [uvicorn.error] Started server process [30696]
2026-08-27 21:27:35,297 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:27:35,297 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:27:35,297 INFO [app.main] FastAPI startup event completed
2026-08-27 21:27:43,220 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 21:27:43,623 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 21:27:43,623 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 21:27:43,623 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 21:27:43,625 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 21:27:43,626 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:27:43,626 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:27:43,627 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:27:43,627 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:28:06,009 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:28:06,011 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:29:05,984 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:29:05,990 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:29:35,612 INFO [uvicorn.access] 127.0.0.1:23990 - "GET / HTTP/1.1" 307
2026-08-27 21:29:35,653 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /login HTTP/1.1" 200
2026-08-27 21:29:35,675 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /static/css/dda.css?v=47 HTTP/1.1" 304
2026-08-27 21:29:35,676 INFO [uvicorn.access] 127.0.0.1:18375 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 21:29:35,676 INFO [uvicorn.access] 127.0.0.1:61130 - "GET /static/js/dda/login.js?v=9 HTTP/1.1" 304
2026-08-27 21:29:35,677 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 304
2026-08-27 21:29:36,540 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /login HTTP/1.1" 200
2026-08-27 21:29:42,217 INFO [uvicorn.access] 127.0.0.1:28810 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:29:45,846 INFO [uvicorn.access] 127.0.0.1:28810 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:29:56,893 INFO [uvicorn.access] 127.0.0.1:28810 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:29:57,164 INFO [uvicorn.access] 127.0.0.1:28810 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:29:57,353 INFO [uvicorn.access] 127.0.0.1:28810 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:30:05,973 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:30:05,980 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:30:10,194 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /login HTTP/1.1" 200
2026-08-27 21:30:10,222 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:30:10,222 INFO [uvicorn.access] 127.0.0.1:61130 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:30:10,223 INFO [uvicorn.access] 127.0.0.1:18375 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:30:10,224 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:30:10,224 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /static/js/dda/login.js?v=9 HTTP/1.1" 200
2026-08-27 21:30:10,353 INFO [uvicorn.access] 127.0.0.1:18375 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:30:12,934 INFO [uvicorn.access] 127.0.0.1:18375 - "GET /login HTTP/1.1" 200
2026-08-27 21:30:12,952 INFO [uvicorn.access] 127.0.0.1:18375 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:30:12,957 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:30:12,957 INFO [uvicorn.access] 127.0.0.1:61130 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:30:12,958 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:30:12,958 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /static/js/dda/login.js?v=9 HTTP/1.1" 200
2026-08-27 21:30:13,066 INFO [uvicorn.access] 127.0.0.1:61130 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:30:13,286 INFO [uvicorn.access] 127.0.0.1:61130 - "GET /login HTTP/1.1" 200
2026-08-27 21:30:13,315 INFO [uvicorn.access] 127.0.0.1:23990 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:30:13,316 INFO [uvicorn.access] 127.0.0.1:18375 - "GET /static/js/dda/login.js?v=9 HTTP/1.1" 200
2026-08-27 21:30:13,316 INFO [uvicorn.access] 127.0.0.1:28810 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:30:13,317 INFO [uvicorn.access] 127.0.0.1:61130 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:30:13,317 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:30:13,441 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:30:19,526 INFO [uvicorn.access] 127.0.0.1:13198 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:30:21,119 INFO [uvicorn.access] 127.0.0.1:13198 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:30:22,037 INFO [uvicorn.access] 127.0.0.1:13198 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:30:22,666 INFO [uvicorn.access] 127.0.0.1:13198 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:30:23,107 INFO [uvicorn.access] 127.0.0.1:13198 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:30:23,480 INFO [uvicorn.access] 127.0.0.1:13198 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:30:23,826 INFO [uvicorn.access] 127.0.0.1:13198 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:31:05,971 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:31:05,974 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:32:05,970 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:32:05,972 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:33:05,966 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:33:05,968 INFO [uvicorn.access] 127.0.0.1:13198 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:34:05,970 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:34:05,972 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:35:05,980 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:35:05,983 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:36:05,968 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:36:05,972 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:37:05,980 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:37:05,982 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:38:05,968 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:38:05,971 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:38:33,919 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:38:39,965 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:38:40,729 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /login HTTP/1.1" 200
2026-08-27 21:38:40,760 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:38:40,762 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:38:40,764 INFO [uvicorn.access] 127.0.0.1:14269 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:38:40,766 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:38:40,766 INFO [uvicorn.access] 127.0.0.1:13982 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 200
2026-08-27 21:38:40,947 INFO [uvicorn.access] 127.0.0.1:13982 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:38:41,290 INFO [uvicorn.access] 127.0.0.1:13982 - "GET /login HTTP/1.1" 200
2026-08-27 21:38:41,309 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 200
2026-08-27 21:38:41,310 INFO [uvicorn.access] 127.0.0.1:13982 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:38:41,310 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:38:41,310 INFO [uvicorn.access] 127.0.0.1:14269 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:38:41,311 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:38:41,423 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:38:41,603 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /login HTTP/1.1" 200
2026-08-27 21:38:41,621 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:38:41,622 INFO [uvicorn.access] 127.0.0.1:13982 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 200
2026-08-27 21:38:41,622 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:38:41,622 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:38:41,623 INFO [uvicorn.access] 127.0.0.1:14269 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:38:41,750 INFO [uvicorn.access] 127.0.0.1:14269 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:38:41,846 INFO [uvicorn.access] 127.0.0.1:14269 - "GET /login HTTP/1.1" 200
2026-08-27 21:38:41,865 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:38:41,865 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 200
2026-08-27 21:38:41,865 INFO [uvicorn.access] 127.0.0.1:13982 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:38:41,865 INFO [uvicorn.access] 127.0.0.1:14269 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:38:41,866 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:38:41,980 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:38:42,055 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /login HTTP/1.1" 200
2026-08-27 21:38:42,073 INFO [uvicorn.access] 127.0.0.1:39297 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:38:42,074 INFO [uvicorn.access] 127.0.0.1:14269 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 200
2026-08-27 21:38:42,074 INFO [uvicorn.access] 127.0.0.1:54630 - "GET /static/css/style.css?v=34 HTTP/1.1" 200
2026-08-27 21:38:42,074 INFO [uvicorn.access] 127.0.0.1:13982 - "GET /static/css/dda.css?v=47 HTTP/1.1" 200
2026-08-27 21:38:42,074 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 200
2026-08-27 21:38:42,187 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /favicon.ico HTTP/1.1" 404
2026-08-27 21:39:05,976 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:39:09,965 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:39:13,363 INFO [uvicorn.access] 127.0.0.1:60386 - "POST /api/auth/login HTTP/1.1" 401
2026-08-27 21:39:21,862 INFO [uvicorn.access] 127.0.0.1:60386 - "POST /api/auth/login HTTP/1.1" 429
2026-08-27 21:39:22,541 INFO [uvicorn.access] 127.0.0.1:60386 - "POST /api/auth/login HTTP/1.1" 429
2026-08-27 21:39:25,281 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /login HTTP/1.1" 200
2026-08-27 21:39:25,299 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 304
2026-08-27 21:39:25,873 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /login HTTP/1.1" 200
2026-08-27 21:39:26,167 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /login HTTP/1.1" 200
2026-08-27 21:39:26,377 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /login HTTP/1.1" 200
2026-08-27 21:39:26,636 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /login HTTP/1.1" 200
2026-08-27 21:39:26,845 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /login HTTP/1.1" 200
2026-08-27 21:39:41,341 INFO [uvicorn.access] 127.0.0.1:60386 - "POST /api/auth/login HTTP/1.1" 429
2026-08-27 21:40:05,965 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:40:05,974 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:41:05,965 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:41:05,968 INFO [uvicorn.access] 127.0.0.1:60386 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:42:03,545 INFO [app.main] Importing AI Change Detection app module
2026-08-27 21:42:03,546 INFO [app.main] Running database initialization
2026-08-27 21:42:03,581 INFO [app.main] Database initialization complete
2026-08-27 21:42:03,646 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 21:42:03,694 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:42:03,694 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:42:03,703 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 21:42:03,704 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 21:42:03,776 INFO [uvicorn.error] Started server process [29272]
2026-08-27 21:42:03,776 INFO [uvicorn.error] Started server process [29272]
2026-08-27 21:42:03,777 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:42:03,777 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:42:03,777 INFO [app.main] FastAPI startup event completed
2026-08-27 21:42:14,196 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 21:42:14,710 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 21:42:14,710 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 21:42:14,710 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 21:42:14,712 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 21:42:14,713 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:42:14,713 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:42:14,713 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:42:14,713 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:42:42,699 INFO [uvicorn.access] 127.0.0.1:62252 - "GET / HTTP/1.1" 307
2026-08-27 21:42:42,743 INFO [uvicorn.access] 127.0.0.1:62252 - "GET /login HTTP/1.1" 200
2026-08-27 21:42:42,766 INFO [uvicorn.access] 127.0.0.1:62252 - "GET /static/css/dda.css?v=47 HTTP/1.1" 304
2026-08-27 21:42:42,767 INFO [uvicorn.access] 127.0.0.1:15366 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 304
2026-08-27 21:42:42,767 INFO [uvicorn.access] 127.0.0.1:27540 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 21:42:42,768 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 304
2026-08-27 21:43:05,974 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:43:05,982 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:44:05,967 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:44:05,969 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:45:05,975 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:45:05,977 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:45:45,470 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login HTTP/1.1" 401
2026-08-27 21:46:05,972 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:46:05,974 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:46:14,054 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/register HTTP/1.1" 400
2026-08-27 21:46:56,742 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:03,715 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:05,983 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:47:05,988 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:47:10,913 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:13,844 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:14,720 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:14,874 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:15,053 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:15,247 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:15,420 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:15,625 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:15,756 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:16,072 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:16,796 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:47:17,325 INFO [uvicorn.access] 127.0.0.1:2673 - "POST /api/auth/login/request-otp HTTP/1.1" 404
2026-08-27 21:48:05,965 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:48:05,968 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:49:05,969 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:49:05,977 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:49:18,970 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:49:21,386 INFO [uvicorn.access] 127.0.0.1:2673 - "GET / HTTP/1.1" 307
2026-08-27 21:49:21,391 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /login HTTP/1.1" 200
2026-08-27 21:49:21,419 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /static/css/dda.css?v=47 HTTP/1.1" 304
2026-08-27 21:49:21,421 INFO [uvicorn.access] 127.0.0.1:52605 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 200
2026-08-27 21:49:21,422 INFO [uvicorn.access] 127.0.0.1:13229 - "GET /static/js/dda/countries.js?v=1 HTTP/1.1" 304
2026-08-27 21:49:21,423 INFO [uvicorn.access] 127.0.0.1:26699 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 304
2026-08-27 21:49:23,011 INFO [uvicorn.access] 127.0.0.1:52605 - "POST /api/auth/login HTTP/1.1" 200
2026-08-27 21:49:23,057 INFO [uvicorn.access] 127.0.0.1:52605 - "GET / HTTP/1.1" 200
2026-08-27 21:49:23,088 INFO [uvicorn.access] 127.0.0.1:26699 - "GET /static/js/dda/app.js?v=28 HTTP/1.1" 200
2026-08-27 21:49:23,089 INFO [uvicorn.access] 127.0.0.1:13229 - "GET /static/js/dda/home.js?v=2 HTTP/1.1" 200
2026-08-27 21:49:23,089 INFO [uvicorn.access] 127.0.0.1:52605 - "GET /static/css/dda.css?v=45 HTTP/1.1" 200
2026-08-27 21:49:23,090 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /static/js/dda/notifications.js?v=5 HTTP/1.1" 304
2026-08-27 21:49:23,112 INFO [uvicorn.access] 127.0.0.1:26699 - "GET /api/me HTTP/1.1" 200
2026-08-27 21:49:23,123 INFO [uvicorn.access] 127.0.0.1:2673 - "GET /api/history HTTP/1.1" 200
2026-08-27 21:49:23,125 INFO [uvicorn.access] 127.0.0.1:26699 - "GET /api/me HTTP/1.1" 200
2026-08-27 21:49:23,148 INFO [uvicorn.access] 127.0.0.1:13229 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 21:49:23,160 INFO [uvicorn.access] 127.0.0.1:52605 - "GET /api/dda/rbac/me/permissions HTTP/1.1" 200
2026-08-27 21:49:53,108 INFO [uvicorn.access] 127.0.0.1:52605 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 200
2026-08-27 21:50:19,800 INFO [app.main] Importing AI Change Detection app module
2026-08-27 21:50:19,800 INFO [app.main] Running database initialization
2026-08-27 21:50:19,805 INFO [app.main] Database initialization complete
2026-08-27 21:50:19,861 INFO [app.dda.bootstrap] Tree migration: {'seed': {'seeded': False, 'nodes': 163}, 'migrate': {'moved': 0, 'indexed': 0}}
2026-08-27 21:50:19,909 INFO [app.dda.tree.sync_service] Filesystem sync complete: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:50:19,910 INFO [app.dda.bootstrap] Filesystem sync at startup: {'nodesCreated': 0, 'imagesIndexed': 0, 'imagesUpdated': 0, 'imagesSkipped': 2, 'orphansFlagged': 0, 'foldersSkipped': 0}
2026-08-27 21:50:19,919 INFO [app.dda.bootstrap] DDA tree library ready (hosted=False): 29 images, storage=C:\Users\udayb\cursor\change_detection_webapp\data\library_sources
2026-08-27 21:50:19,919 INFO [app.dda.bootstrap] APP_MODE=dda — DDA routes enabled (tree, library, jobs, reports, review, training, admin, local, rbac, masters, logs)
2026-08-27 21:50:19,986 INFO [uvicorn.error] Started server process [24220]
2026-08-27 21:50:19,986 INFO [uvicorn.error] Started server process [24220]
2026-08-27 21:50:19,986 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:50:19,986 INFO [uvicorn.error] Waiting for application startup.
2026-08-27 21:50:19,987 INFO [app.main] FastAPI startup event completed
2026-08-27 21:50:28,828 INFO [app.model_inference] Loading AdaptFormer from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain ...
2026-08-27 21:50:29,351 INFO [app.model_inference] Loaded AdaptFormer calibrated threshold=0.446 from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain\threshold.json
2026-08-27 21:50:29,352 INFO [app.model_inference] AdaptFormer loaded on cuda from C:\Users\udayb\cursor\change_detection_webapp\models\adaptformer_delhi\wed_retrain
2026-08-27 21:50:29,352 INFO [app.model_inference] AdaptFormer preload complete
2026-08-27 21:50:29,354 INFO [app.dda.auto_detect] Automatic detection is idle. Set interval/time on the Automatic tab and click Start.
2026-08-27 21:50:29,355 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:50:29,355 INFO [uvicorn.error] Application startup complete.
2026-08-27 21:50:29,356 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:50:29,356 INFO [uvicorn.error] Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
2026-08-27 21:50:59,377 INFO [uvicorn.access] 127.0.0.1:41852 - "GET / HTTP/1.1" 307
2026-08-27 21:50:59,418 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /login HTTP/1.1" 200
2026-08-27 21:50:59,433 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /static/js/dda/shared.js?v=4 HTTP/1.1" 304
2026-08-27 21:50:59,440 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /static/js/dda/login.js?v=10 HTTP/1.1" 304
2026-08-27 21:51:05,970 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:52:05,971 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:53:05,976 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:54:05,963 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:55:05,967 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:56:05,967 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:57:05,976 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:58:05,965 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 21:59:05,965 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:00:05,966 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:01:05,974 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:02:05,968 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:03:05,974 INFO [uvicorn.access] 127.0.0.1:41852 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:04:05,960 INFO [uvicorn.access] 127.0.0.1:7536 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:05:05,973 INFO [uvicorn.access] 127.0.0.1:7536 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:06:05,968 INFO [uvicorn.access] 127.0.0.1:7536 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:09:22,841 INFO [uvicorn.access] 127.0.0.1:60558 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-27 22:15:40,442 INFO [uvicorn.access] 127.0.0.1:20351 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-29 12:05:05,755 INFO [uvicorn.access] 127.0.0.1:63628 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401
2026-08-29 12:06:03,958 INFO [uvicorn.access] 127.0.0.1:20504 - "GET /api/dda/jobs?limit=25 HTTP/1.1" 401