Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
390 commits
Select commit Hold shift + click to select a range
c29a1bb
feat: Implement production data model retrieval and update logic
Jul 8, 2025
1321e27
Update GUI/src/services/datamodels.ts
erangi-ar Jul 8, 2025
c4ece0a
Update GUI/src/pages/DataModels/index.tsx
erangi-ar Jul 8, 2025
e5bdd54
Update GUI/src/components/FormElements/FormCheckboxes/index.tsx
erangi-ar Jul 8, 2025
2b36d8f
Merge pull request #238 from rootcodelabs/vm-deployment-fix
Thirunayan22 Jul 9, 2025
4a16778
Merge pull request #236 from rootcodelabs/vm-deployment-fix
Thirunayan22 Jul 11, 2025
7634aec
complete training pipeline
nuwangeek Jul 11, 2025
dd1369b
Merge pull request #47 from buerokratt/wip
nuwangeek Jul 11, 2025
63dab89
Merge pull request #48 from rootcodelabs/wip
nuwangeek Jul 11, 2025
a59ce56
fixed merge conflicts
nuwangeek Jul 11, 2025
970eb89
fixed ruff format issues
nuwangeek Jul 11, 2025
b8015f1
fixed issue
nuwangeek Jul 11, 2025
e901cf1
feat: Enhance data model management with new SQL scripts and update t…
Jul 11, 2025
896555d
Merge branch 'vm-deployment-fix' of https://github.com/rootcodelabs/G…
Jul 11, 2025
f59b621
Merge pull request #49 from rootcodelabs/vm-deployment-fix
erangi-ar Jul 11, 2025
7b2a828
feat: Update training status handling to include model S3 location an…
Jul 11, 2025
e4759b8
Merge pull request #50 from rootcodelabs/vm-deployment-fix
erangi-ar Jul 11, 2025
ea81a28
in-progress inference module commits
Thirunayan22 Jul 13, 2025
cb9e838
Merge pull request #51 from rootcodelabs/wip
Thirunayan22 Jul 13, 2025
7d166a8
Merge branch 'GC-220-Inference' of https://github.com/rootcodelabs/Gl…
Thirunayan22 Jul 13, 2025
256c19a
feat: Implement data model deletion functionality with confirmation m…
Jul 14, 2025
3eafc3b
Merge pull request #52 from rootcodelabs/vm-deployment-fix
erangi-ar Jul 14, 2025
2dac626
training bug fixes
nuwangeek Jul 14, 2025
f0b5e7e
Merge pull request #53 from rootcodelabs/GC-196
erangi-ar Jul 14, 2025
7d7fc50
pr comments
Jul 14, 2025
2f26d11
complte training pipeline with testing
nuwangeek Jul 15, 2025
5ad22fb
Merge pull request #243 from rootcodelabs/vm-deployment-fix
Thirunayan22 Jul 15, 2025
0e02906
Merge pull request #244 from rootcodelabs/training-temp
Thirunayan22 Jul 15, 2025
33017a9
updated docker compose config and data addition architectur
Thirunayan22 Jul 16, 2025
ee4f5b3
updated docker-compose-dev to have defined volume names, added triton…
Thirunayan22 Jul 16, 2025
dd0d61d
added ruff check
Thirunayan22 Jul 16, 2025
1d30d39
Merge pull request #260 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 16, 2025
2fa95df
changed model s3 path
nuwangeek Jul 16, 2025
4f5db30
Merge pull request #263 from buerokratt/wip
Thirunayan22 Jul 16, 2025
c156a8a
Merge pull request #54 from buerokratt/wip-temp
nuwangeek Jul 16, 2025
cee3611
fixed ruff lint issues
nuwangeek Jul 16, 2025
6e749e8
Merge pull request #264 from rootcodelabs/training-temp
Thirunayan22 Jul 16, 2025
b42909a
Merge pull request #259 from buerokratt/wip-temp
Thirunayan22 Jul 17, 2025
feded7b
feat: Add training results display and update data model types for en…
Jul 17, 2025
66c7371
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 17, 2025
ebc128f
Merge pull request #55 from buerokratt/wip
erangi-ar Jul 17, 2025
5d424eb
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 17, 2025
2dae509
Merge pull request #56 from rootcodelabs/wip
Thirunayan22 Jul 17, 2025
2f23378
added minio files to be mounted in directory instead of docker volume…
Thirunayan22 Jul 17, 2025
4a1fe80
Add TestModel component and associated styles
Jul 17, 2025
c9cbe90
feat: Refactor TrainingResults component for improved layout and styling
Jul 17, 2025
f7df7c5
updated constants.ini to contain triton server endpoints; added copil…
Thirunayan22 Jul 17, 2025
bd3b3c3
update styles
Jul 18, 2025
c13304c
feat: Update DataModelCard and DataModelForm
Jul 18, 2025
f135c30
add notification server to gc
Jul 18, 2025
41dddc7
requested changes
Jul 21, 2025
6248310
Merge pull request #266 from rootcodelabs/training-results
Thirunayan22 Jul 21, 2025
46567e7
Merge pull request #267 from rootcodelabs/testing
Thirunayan22 Jul 21, 2025
9dbc030
Merge pull request #57 from buerokratt/wip
Thirunayan22 Jul 21, 2025
5d5f5af
Merge pull request #58 from rootcodelabs/wip
Thirunayan22 Jul 21, 2025
9ef1fe3
added copilot instructions.md
Thirunayan22 Jul 21, 2025
c15ab30
Merge branch 'GC-220-Inference' of https://github.com/rootcodelabs/Gl…
Thirunayan22 Jul 21, 2025
78869f4
Update .gitignore to exclude temp_models and add Triton server config…
Thirunayan22 Jul 21, 2025
93abd27
model training modified
Jul 22, 2025
cf8dce8
Implement Triton Python models for text preprocessing and postprocess…
Thirunayan22 Jul 22, 2025
9b50cd9
added separate folder for inference and preprocess scripts
Thirunayan22 Jul 23, 2025
887dc87
Merge pull request #268 from ckittask/wip
Thirunayan22 Jul 23, 2025
482b65f
Merge pull request #59 from buerokratt/wip
Thirunayan22 Jul 23, 2025
e96e6e6
Merge pull request #60 from rootcodelabs/wip
Thirunayan22 Jul 23, 2025
f483bec
added Python environment for triton server
Thirunayan22 Jul 23, 2025
703b1d2
training sessions integrated
Jul 23, 2025
e388d71
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 23, 2025
d81ac29
resolve pr comments
Jul 23, 2025
f630fef
add testing mock endpoints
Jul 23, 2025
206a175
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 23, 2025
136138c
resolve pr comments
Jul 23, 2025
45ee1bd
dataset flow changes
nuwangeek Jul 24, 2025
d144b18
fix ruff formatting issues
nuwangeek Jul 24, 2025
5526ccb
Merge pull request #62 from rootcodelabs/wip
nuwangeek Jul 24, 2025
28c34ae
Merge pull request #63 from rootcodelabs/GC-255
nuwangeek Jul 24, 2025
c692b1a
Merge branch 'wip-temp' of https://github.com/rootcodelabs/Global-Cla…
Jul 24, 2025
efee76c
Merge branch 'wip-temp' of https://github.com/rootcodelabs/Global-Cla…
Jul 24, 2025
a43bf49
Merge pull request #64 from rootcodelabs/gc-200-notification-server
erangi-ar Jul 24, 2025
c5f0f30
Merge branch 'wip-temp' of https://github.com/rootcodelabs/Global-Cla…
Jul 24, 2025
81f8750
Merge pull request #65 from rootcodelabs/testing
erangi-ar Jul 24, 2025
41f87f9
Merge pull request #277 from rootcodelabs/gc-200-notification-server
Thirunayan22 Jul 24, 2025
baf5317
Merge pull request #278 from rootcodelabs/testing
Thirunayan22 Jul 24, 2025
2801066
Merge pull request #66 from buerokratt/wip
Thirunayan22 Jul 24, 2025
2601b95
Merge pull request #67 from rootcodelabs/wip
Thirunayan22 Jul 24, 2025
dd8f774
added init model download functionality
Thirunayan22 Jul 24, 2025
ff39e2d
isTrainingNeeded added for datamodel configuration flow
Jul 25, 2025
ade14c0
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 25, 2025
92fe525
training endpoint payload cahnges
Jul 25, 2025
d85917d
Merge branch 'wip-temp' of https://github.com/rootcodelabs/Global-Cla…
Jul 25, 2025
8922e47
Merge pull request #68 from rootcodelabs/training-flow-fixes
erangi-ar Jul 25, 2025
73e1221
model_trainer calling from cronmanager
nuwangeek Jul 25, 2025
13f5610
Merge pull request #69 from rootcodelabs/wip-temp
nuwangeek Jul 25, 2025
e00ce3d
fixed ruff formatting issues
nuwangeek Jul 25, 2025
7afbd67
Merge pull request #282 from rootcodelabs/training-integration
Thirunayan22 Jul 25, 2025
3394c02
Merge pull request #70 from buerokratt/wip
nuwangeek Jul 25, 2025
8acd5f9
Merge pull request #71 from rootcodelabs/wip
nuwangeek Jul 25, 2025
cd4ff0a
Merge pull request #72 from rootcodelabs/wip
nuwangeek Jul 25, 2025
22872a0
model repository and saving
mustkohv Jul 25, 2025
cec20c1
Merge pull request #283 from ckittask/training-pipeline
Thirunayan22 Jul 25, 2025
be9e9b5
patch updates chnages has been partialy done
nuwangeek Jul 25, 2025
63c623a
Merge pull request #73 from buerokratt/wip
nuwangeek Jul 25, 2025
e78ecc0
Merge pull request #74 from rootcodelabs/wip
nuwangeek Jul 25, 2025
3208261
added sample model-repository; updated config.env to be the central s…
Thirunayan22 Jul 26, 2025
698a581
updated .gitignore to include zipped files
Thirunayan22 Jul 26, 2025
8ebf7c5
updated irrelevant import in model.py
Thirunayan22 Jul 26, 2025
5375082
added first deployment check to deployment endpoint
Thirunayan22 Jul 26, 2025
863043f
dataset overview integration and configure model changes
Jul 27, 2025
6ee1d45
Enable NVIDIA runtime and set environment variables for training service
Jul 27, 2025
532df7f
Merge branch 'wip-temp' of https://github.com/rootcodelabs/Global-Cla…
Jul 27, 2025
8bba2fe
Merge pull request #75 from rootcodelabs/datasets-overview
erangi-ar Jul 27, 2025
d57ae4c
developed deploy.yml endpoint to be able create first deployment
Thirunayan22 Jul 27, 2025
bfb457d
added core functionality of deployment orchestrator
Thirunayan22 Jul 27, 2025
b00249b
Add Data Generation Sessions feature with progress tracking
Jul 28, 2025
c332c17
pr comments resolved
Jul 28, 2025
e21bb4f
Fix parameter name in getDatasetData function for clarity
Jul 28, 2025
19d6fe3
Refactor dataset ID variable for consistency in metadata and dataset …
Jul 28, 2025
1a85516
Refactor error handling in return_database_error and return_format_er…
Jul 28, 2025
a8d20e7
Merge pull request #76 from rootcodelabs/datasets-overview
erangi-ar Jul 28, 2025
dca0097
fixed issues and integrate cronmanager with model-training
nuwangeek Jul 28, 2025
3e166cc
fixed ruff formatting issues
nuwangeek Jul 28, 2025
93b90a9
Merge pull request #77 from rootcodelabs/wip-temp
nuwangeek Jul 28, 2025
f53a24f
Merge branch 'training-integration' of https://github.com/rootcodelab…
nuwangeek Jul 28, 2025
30f2f9c
fixed ruff format issues
nuwangeek Jul 28, 2025
20a1e38
Merge pull request #286 from buerokratt/wip
Thirunayan22 Jul 28, 2025
74175d8
Merge pull request #287 from rootcodelabs/training-integration
Thirunayan22 Jul 28, 2025
e232b05
Merge pull request #78 from rootcodelabs/wip-temp
nuwangeek Jul 28, 2025
3816079
added grafana+loki integration
Thirunayan22 Jul 28, 2025
b48206f
Update pagination logic and enhance translation strings for clarity
Jul 28, 2025
185b110
updated config.env
Thirunayan22 Jul 28, 2025
8bd2518
merged wip into GC-220-Inferenc
Thirunayan22 Jul 28, 2025
47aedcf
Merge pull request #275 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 28, 2025
66fd1f6
Refactor handleSaveChanges and getUpdateType for improved clarity and…
Jul 28, 2025
90767cf
Merge pull request #80 from rootcodelabs/wip
Thirunayan22 Jul 28, 2025
a86f438
Add 'Deployment Failed' status to Training_Progress_Status enum for c…
Jul 28, 2025
5698a40
Merge branch 'datasets-overview' of https://github.com/rootcodelabs/G…
Jul 28, 2025
27761a4
model trainer fixes
ckittask Jul 28, 2025
c8eb7d8
Merge pull request #284 from rootcodelabs/datasets-overview
Thirunayan22 Jul 28, 2025
248f696
Merge pull request #81 from buerokratt/wip
Thirunayan22 Jul 28, 2025
0dae9bf
Merge pull request #288 from ckittask/training_pipeline_fixes
Thirunayan22 Jul 28, 2025
6b0d96e
Merge pull request #82 from rootcodelabs/wip
Thirunayan22 Jul 28, 2025
48e65f8
Merge pull request #83 from rootcodelabs/datasets-overview
erangi-ar Jul 28, 2025
229a961
patch update continue
nuwangeek Jul 28, 2025
2334a1b
Merge pull request #84 from rootcodelabs/wip-temp
nuwangeek Jul 28, 2025
d94b358
Merge branch 'GC-255' of https://github.com/rootcodelabs/Global-Class…
nuwangeek Jul 28, 2025
52289ea
updated config.env to have grafana credentials
Thirunayan22 Jul 28, 2025
0b7169d
updated ruuter inference primary endpoint
Thirunayan22 Jul 28, 2025
62bbf4c
added inference logging function
Thirunayan22 Jul 28, 2025
e883e7f
adding progress functions
nuwangeek Jul 29, 2025
3ae1650
Merge pull request #289 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 29, 2025
c7b4858
dataset overview bug fixes
Jul 29, 2025
f9ba7f3
get total items in metadata
Jul 29, 2025
e9ccc14
refactor endpoint to update training status
Jul 29, 2025
12c8a08
pr comments resolved
Jul 29, 2025
f24a2ad
save button disable logic
Jul 29, 2025
5b3f07b
Merge pull request #89 from buerokratt/wip
erangi-ar Jul 29, 2025
775da48
Merge pull request #290 from rootcodelabs/datasets-overview
Thirunayan22 Jul 29, 2025
43aed1d
Merge pull request #90 from buerokratt/wip
erangi-ar Jul 29, 2025
25a405c
complete dataset progress update
nuwangeek Jul 29, 2025
82825f3
Merge pull request #91 from rootcodelabs/wip
nuwangeek Jul 29, 2025
af18811
Merge branch 'GC-255' of https://github.com/rootcodelabs/Global-Class…
nuwangeek Jul 29, 2025
b9d9118
model repository creation
ckittask Jul 29, 2025
d90a97e
fixed ruff format issues
nuwangeek Jul 29, 2025
6a515fc
Merge pull request #291 from ckittask/training_pipeline_fixes
Thirunayan22 Jul 29, 2025
94985f2
Merge branch 'wip' into wip-temp
Thirunayan22 Jul 29, 2025
cf5d445
Merge pull request #292 from buerokratt/wip-temp
Thirunayan22 Jul 29, 2025
a778bb1
Merge pull request #93 from buerokratt/wip-temp
erangi-ar Jul 29, 2025
253989c
Merge pull request #94 from buerokratt/wip
erangi-ar Jul 29, 2025
82436a0
Merge branch 'GC-255' into wip
nuwangeek Jul 29, 2025
90f014a
Merge pull request #95 from rootcodelabs/wip
nuwangeek Jul 29, 2025
8a61463
docker compose revamp
nuwangeek Jul 29, 2025
bf7a69e
fixed issues
nuwangeek Jul 29, 2025
5186392
Merge pull request #293 from rootcodelabs/GC-255
Thirunayan22 Jul 29, 2025
7a6e046
Merge pull request #96 from buerokratt/wip
nuwangeek Jul 29, 2025
4e70108
Merge pull request #97 from rootcodelabs/wip
nuwangeek Jul 29, 2025
4e67a3a
Merge pull request #294 from rootcodelabs/docker-fix
Thirunayan22 Jul 29, 2025
e562acf
Merge pull request #98 from buerokratt/wip
nuwangeek Jul 29, 2025
54fe3eb
added inference endpoints
Thirunayan22 Jul 29, 2025
5b5665d
fixed issue in dataset generator
nuwangeek Jul 30, 2025
b1049ee
Merge pull request #295 from rootcodelabs/temp-training
Thirunayan22 Jul 30, 2025
737cb94
model repository name change
ckittask Jul 30, 2025
6d5139e
Merge pull request #99 from buerokratt/wip
Thirunayan22 Jul 30, 2025
3888326
Merge pull request #296 from ckittask/model_repository_name_changes
Thirunayan22 Jul 30, 2025
feb5682
Merge pull request #100 from buerokratt/wip
Thirunayan22 Jul 30, 2025
5deb3d1
api integration with mock paths
Jul 30, 2025
67463af
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 30, 2025
3ec94a0
added loki-grafana logging to training pipeline
Thirunayan22 Jul 30, 2025
db4e1bd
Merge pull request #101 from buerokratt/wip
Thirunayan22 Jul 30, 2025
dcfb416
Merge pull request #298 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
de16e7c
added agency id to training pipeline
Thirunayan22 Jul 30, 2025
6bdce77
Merge pull request #299 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
01cc772
pushing to wip
Thirunayan22 Jul 30, 2025
60a4ae8
Merge pull request #300 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
e759001
added fix for path issue in training script
Thirunayan22 Jul 30, 2025
920c739
Merge pull request #301 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
edf3a4f
pushing changes
Thirunayan22 Jul 30, 2025
d75d811
Merge pull request #302 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
d5a6efa
s3-ferry fix
Thirunayan22 Jul 30, 2025
95f3059
Merge pull request #303 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
d524849
updated s3 ferry issue
Thirunayan22 Jul 30, 2025
71f784b
Merge pull request #304 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
c7e5242
changed ood label name and id
ckittask Jul 30, 2025
5d3a325
Merge pull request #102 from buerokratt/wip
Thirunayan22 Jul 30, 2025
74df902
added s3 ferry logger
Thirunayan22 Jul 30, 2025
64e0ee0
Merge pull request #306 from rootcodelabs/wip
Thirunayan22 Jul 30, 2025
91ea084
Merge pull request #103 from buerokratt/wip
Thirunayan22 Jul 30, 2025
43d073c
integrated deployment endpoint
Thirunayan22 Jul 30, 2025
55e0c38
deleted unnecessary docker compose files
Thirunayan22 Jul 30, 2025
9a12468
Merge pull request #297 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
3b06fcb
updated model train script start.sh
Thirunayan22 Jul 30, 2025
7fe7d85
Merge pull request #307 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
98b6859
minor updated model_trainer
Thirunayan22 Jul 30, 2025
2c58c7e
Merge pull request #308 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
48c8a62
updated model_training_jobs to store failed model trainings
Thirunayan22 Jul 30, 2025
d954684
Merge pull request #309 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
436fe4a
updated master.yml
Thirunayan22 Jul 30, 2025
d9f859c
Merge pull request #310 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
1674e7b
feat: Update data models and datasets handling
Jul 30, 2025
d756053
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 30, 2025
48720a2
updated endpoints.ts
Thirunayan22 Jul 30, 2025
2507442
updated test model classify.yml template
Thirunayan22 Jul 30, 2025
171b15c
Merge pull request #312 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
7c665b8
updated model trainer with training creation
Thirunayan22 Jul 30, 2025
2033c66
Merge pull request #313 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
fb53e71
fixed minor issue
Thirunayan22 Jul 30, 2025
2971807
Merge pull request #314 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 30, 2025
5358e9c
refactor: Remove commented-out formatDataUrlsResponse and enhance ini…
Jul 31, 2025
34c7801
Merge pull request #104 from buerokratt/wip
erangi-ar Jul 31, 2025
0066297
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 31, 2025
3900699
Merge pull request #311 from rootcodelabs/testing
Thirunayan22 Jul 31, 2025
8c3b1b1
fixes
Jul 31, 2025
66aa68a
Merge pull request #315 from rootcodelabs/testing
Thirunayan22 Jul 31, 2025
6ecd0cd
Merge pull request #105 from buerokratt/wip
Thirunayan22 Jul 31, 2025
ab4531a
pushed changes
Thirunayan22 Jul 31, 2025
5237f9f
Merge pull request #316 from rootcodelabs/GC-220-Inference
Thirunayan22 Jul 31, 2025
4ec3f22
new training resluts added
Jul 31, 2025
66b8139
Merge pull request #106 from buerokratt/wip
erangi-ar Jul 31, 2025
04f163e
Merge branch 'wip' of https://github.com/rootcodelabs/Global-Classifi…
Jul 31, 2025
f168a13
Merge pull request #317 from rootcodelabs/testing
Thirunayan22 Jul 31, 2025
e34a025
Remove sample data inserts from mock global classifier SQL script
Jul 31, 2025
b3c4a3c
Merge pull request #318 from rootcodelabs/testing
Thirunayan22 Jul 31, 2025
23b73d6
Add loading indicator to Load Model button in TestModel component
Jul 31, 2025
2706b34
Merge pull request #319 from rootcodelabs/testing
Thirunayan22 Jul 31, 2025
1b0be8b
Merge pull request #108 from buerokratt/wip
erangi-ar Aug 4, 2025
46e632e
page size selector added
Aug 4, 2025
f596dec
Add dataset controls and row selection functionality to DataTable com…
Aug 12, 2025
c1c766c
resolve pr comments
Aug 14, 2025
451395a
Merge pull request #331 from rootcodelabs/gc-324-pagination-dropdown
Thirunayan22 Aug 15, 2025
582ac01
Merge pull request #332 from buerokratt/wip
Thirunayan22 Aug 15, 2025
6c4ee6e
Merge pull request #305 from ckittask/wip_model_repo
Thirunayan22 Aug 15, 2025
4cbeace
Merge pull request #338 from buerokratt/wip
Thirunayan22 Aug 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
127 changes: 127 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# Global Classifier AI Coding Instructions

## Code Style Requirements

**CRITICAL: Never use emojis in any generated code, comments, log messages, or documentation. Use plain text only.**

## Architecture Overview

Global Classifier is a machine learning platform built on the **BYK Stack** - a microservices architecture with specialized DSL-based components:

- **Ruuter**: API gateway handling REST endpoints via YAML DSL configurations (`DSL/Ruuter.public/`, `DSL/Ruuter.private/`)
- **Resql**: Database abstraction layer using SQL files as endpoints (`DSL/Resql/global-classifier/`)
- **Data Mapper**: Template engine for dynamic content generation (`DSL/DMapper/`)
- **TIM**: Authentication and authorization service
- **CronManager**: Scheduled task execution

## Key Development Patterns

### DSL-First API Development
APIs are defined declaratively in YAML files, not traditional controllers:
```yaml
# DSL/Ruuter.private/global-classifier/POST/inference/deploy.yml
declaration:
call: declare
method: post
accepts: json
allowlist:
body:
- field: modelId
type: string
```

### Database Operations via Resql
Database interactions use `.sql` files as endpoints, not ORM models:
```sql
-- DSL/Resql/global-classifier/POST/insert-data-models.sql
INSERT INTO public.data_models (model_name, deployment_env, base_models)
VALUES (:modelName, :deploymentEnv, :baseModels::jsonb)
```

### Service Configuration in constants.ini
All service URLs are centralized in `constants.ini` using `[#SERVICE_NAME]` placeholder syntax:
```ini
GLOBAL_CLASSIFIER_RUUTER_PRIVATE=http://ruuter-private:8088/global-classifier
GLOBAL_CLASSIFIER_RESQL=http://resql:8082/global-classifier
```

## Development Workflows

### Environment Setup
```bash
# Use uv package manager (mandatory)
uv venv && uv sync
source .venv/bin/activate

# Build required BYK stack images first
docker build -t ruuter . # in cloned Ruuter repo
docker build -t resql . # in cloned Resql repo
```

### Testing Requirements
x- **Linting**: All code must pass `ruff check .` and `ruff format .`

### Branch Strategy
1. **wip** → **testing** → **dev** (three-tier workflow)
2. All PRs target `wip` branch first
3. Automated validation in `testing` before promoting to `dev`

## Component Structure

### Python Services (`src/`)
- `training/`: ML model training scripts
- `inference/`: Model serving (prod/testing environments)
- `classifier-service/`: Node.js mock service for chat classification
- `dataset_file_handler/`: Data processing utilities

### Frontend (`GUI/`)
- React + TypeScript with Vite
- Radix UI components and TanStack Query
- Multi-language support via `translations/`

### Experiments (`experiments/`)
- `base_model_training/`: BERT/RoBERTa/XLM model experiments
- `ood_detection/`: Out-of-distribution detection research

## Critical Integration Points

### Authentication Flow
Routes use `.guard` files for auth checks. Private routes require cookie-based authentication validated through TIM service.

### Model Deployment Pipeline
1. Create model metadata → Resql `insert-data-models.sql`
2. Update dataset connections → `update-datasets-connected-models.sql`
3. Initiate training → Call `/datamodels/train` endpoint
4. Environment progression: undeployed → testing → production

### Configuration Management
- Docker services defined in multiple compose files (dev, inference-cpu, inference-gpu)
- Environment-specific configurations in `config.env` and `sidecar.env`
- Service discovery via DNS names in docker network `bykstack`

## Common Anti-Patterns to Avoid

- **Don't** create traditional REST controllers - use Ruuter YAML DSL
- **Don't** write raw SQL in application code - use Resql `.sql` files
- **Don't** hardcode service URLs - reference `constants.ini` placeholders
- **Don't** bypass authentication guards on private routes
- **Don't** use pip/conda - project requires `uv` package manager

## Quick Reference

### Adding New API Endpoint
1. Create YAML in `DSL/Ruuter.{public|private}/global-classifier/{METHOD}/`
2. Add SQL queries in `DSL/Resql/global-classifier/{METHOD}/`
3. Update service constants if calling external services
4. Add authentication guard if private endpoint

### Running Services Locally
```bash
docker-compose up -d # Full stack
docker-compose -f docker-compose-dev.yml up # Development mode
```

### Model Training/Inference
- Training: Triggered via `/datamodels/train` POST endpoint
- Inference: Environment-specific deployments in `src/inference/{prod|testing}/`
- Models support: BERT, RoBERTa, XLM base architectures
31 changes: 30 additions & 1 deletion .github/workflows/ci-cd-development.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,47 @@ on:
push:
branches:
- dev
pull_request:
branches:
- dev

jobs:
lint:
name: Run ESLint
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
cache: 'npm'
cache-dependency-path: 'GUI/package-lock.json'

- name: Install dependencies
working-directory: ./GUI
run: npm install --legacy-peer-deps

- name: Lint code
working-directory: ./GUI
run: npx eslint "src/**/*.{ts,tsx}" --quiet

deploy:
runs-on: [self-hosted, development]

if: github.event_name == 'push'

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Stop and remove existing containers
run: |
docker compose down

- name: Build & up Docker container
run: |
docker compose up --build -d
16 changes: 14 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
tim-db
global-classifier-db
.vscode/
.idea/
# Node modules
Expand Down Expand Up @@ -33,12 +34,23 @@ logs/
test/logs/
**/logs/
*.log.*
*.zip


*.bkp
*.dtmp

# Python cache files
__pycache__/
.ruff_cache/
.pytest_cache/
.pytest_cache/

models
data
output_datasets/
venv
dataset_artifacts/
venv
/signed.py
/minio_presigned_urls.txt
minio_data/
temp_models/
5 changes: 5 additions & 0 deletions .llm-contexts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## LLM CONTEXTS

---

This folder contains the necessary contexts for any LLM tool to understand the contexts about Ruuter, Resql, Data Mapper, so that any AI-based coding tools that developers use like Co-Pilot have necessary context to give useful recommendations
28 changes: 28 additions & 0 deletions .llm-contexts/byk-stack-summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Bürokratt Project Overview

## Goal and Vision

Bürokratt is an initiative by the Estonian Ministry of Economic Affairs and Communications (MKM), with technical implementation managed by the Information System Authority (RIA).
The core vision is to create a seamless, unified, and user-friendly channel for citizens and businesses to access Estonia's approximately 3,000 public e-services (and potentially private sector services).
It aims to function as an interoperable network of public and private sector AI solutions, acting as a virtual assistant accessible via text and voice, 24/7.
The goal is to make interacting with the state radically easier, moving beyond simple chatbots to a system that understands user needs and proactively offers bundled services, potentially based on life events.

## Development and Architecture (Based on Codebase & ADRs)

- **Open Development:** Bürokratt follows an open development model, with all code, planning, and project management happening publicly on GitHub. This facilitates collaboration with numerous development partners.
- **Modular Architecture:** The system is designed to be highly modular, with functionalities developed as independent, replaceable services communicating via APIs (ARCH-001).
- **DSL-Based Development:** A key principle is Domain-Specific Language (DSL)-based development. Instead of traditional programming languages for many tasks, developers work with YAML (e.g., for Ruuter configurations), SQL files (for Resql), and Handlebars (for DataMapper) to define service logic and data transformations.

### Key Components:

- **Ruuter:** Acts as the central router and reverse proxy, handling service requests (POST, GET, etc.), conditional logic, and templated services. Mock services are often built first using Ruuter's capabilities.
- **Resql:** Manages all PostgreSQL database interactions. Each query resides in a separate .sql file, exposed as a REST endpoint. ADRs emphasize strict standards for SQL: no UPDATE/DELETE, standardized formatting, no SELECT *, no cross-table joins (enforcing denormalization), query parameterization, and security declarations.
- **DataMapper (DMapper):** Uses Handlebars templates to restructure JSON outputs.
- **TIM (TARA Integration Module):** Facilitates TARA-based authentication and JWT management.
- **CVI:** A fork of a front-end component library for reusable React GUI elements.
- **PostgreSQL:** The relational database used. Schema management uses Liquibase with specific rules (SQL-only definitions tracked via XML, UUIDs for all objects, use of ENUMs and TEXT, mandatory indexing, defined schemas instead of public).
- **Liquibase:** Used for database schema version control.
- **OpenSearch:** Increasingly used, particularly for its Query DSL capabilities. Storage ADRs indicate OpenSearch is a reference for document-oriented storage for metadata/structured text, separate from blob storage (like S3) for raw files.
- **Rasa:** Used for chatbot functionalities like rules and stories, though intent recognition might be replaced.
- **Centops:** It's the central orchestrator for the entire BYK stack
- **DMR:** Stands for distributed message rooms, a message orchestration system which can recieve messages from one Buerokratt chatbot and pass it to another
Loading
Loading