Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
3ef11a1
feat: updating v1
TEJASNARAYANS Oct 10, 2026
f8e0409
feat: updating test auto geenration of metrics
TEJASNARAYANS Oct 10, 2026
0240986
feat: adding KBs
TEJASNARAYANS Oct 16, 2026
fbd98ba
feat: adding eval loop
TEJASNARAYANS Oct 21, 2026
816d8e5
fix: logos
TEJASNARAYANS Oct 21, 2026
68a4ab1
fix: agent simuations
TEJASNARAYANS Oct 22, 2026
c00fde2
fix: update API routes and enhance simulation handling
MSami625 Oct 23, 2026
bb9f6c4
chore: update Docker configuration for worker-harbor and enhance task…
MSami625 Oct 23, 2026
65aa99a
Merge remote-tracking branch 'origin/main' into EFF-74
MSami625 Oct 23, 2026
962d7bc
fix: enhance metric draft creation and improve trial scoring logic
MSami625 Oct 23, 2026
cb870c6
fix: improve ingest advisory key calculations with signed 32-bit hand…
MSami625 Oct 23, 2026
2a154d0
fix: prevent duplicate chunks during document reindexing by refining …
MSami625 Oct 23, 2026
7d4715a
chore: add support for worker-harbor image in CI workflows and enhanc…
MSami625 Oct 23, 2026
e9f8f05
chore: refactor CI workflows to unify worker and worker-harbor image …
MSami625 Oct 23, 2026
81202d5
chore: update CI workflow to remove worker-harbor image reference and…
MSami625 Oct 23, 2026
910d36f
fix: normalize enum options in API response and update frontend to di…
MSami625 Oct 23, 2026
87859ab
refactor: streamline custom configuration handling for metrics by uti…
MSami625 Oct 23, 2026
66a8a73
refactor: enhance metric configuration handling by integrating custom…
MSami625 Oct 23, 2026
449c365
refactor: update enumOptionsToCsv function signature to accept a more…
MSami625 Oct 23, 2026
4d03051
refactor: enhance metric option label handling by introducing canonic…
MSami625 Oct 23, 2026
e7cac71
refactor: add enum_numeric_matches_ambiguous function to improve nume…
MSami625 Oct 23, 2026
7f74a6a
refactor: enhance error handling in trial processing and update simul…
MSami625 Oct 23, 2026
04de871
refactor: update version compatibility check in tests to use packagin…
MSami625 Oct 24, 2026
fdeb657
refactor: add recording_duration_seconds field to CallImportRow model…
MSami625 Oct 28, 2026
aefe371
refactor: implement aggregate score row loading and cache refresh log…
MSami625 Oct 28, 2026
32ef9fa
refactor: introduce buffering functions for call import evaluations a…
MSami625 Oct 28, 2026
f8039d4
refactor: implement row filtering for bulk operations in call imports…
MSami625 Oct 28, 2026
5866fa8
refactor: add manual audio upload presigning and processing logic for…
MSami625 Oct 28, 2026
6c391df
refactor: remove deprecated call import evaluation and import routes,…
MSami625 Oct 29, 2026
b4d9ad1
refactor: update Celery task revocation logic and enhance evaluation …
MSami625 Oct 29, 2026
37def59
refactor: update CORS settings across configuration files to include …
MSami625 Oct 31, 2026
2eb277f
refactor: route call-import presign/HEAD through BlobStorageService
MSami625 Oct 31, 2026
44fe2bb
refactor: enhance evaluation row pair loading and subsampling logic i…
MSami625 Oct 31, 2026
f9af395
fix: scale branch CI gaps — transcribe tests, materialize resume, bil…
MSami625 Oct 31, 2026
5dd9b8f
refactor: enhance call import row handling and platform discovery syn…
MSami625 Oct 31, 2026
597af9a
feat: add support for dollar-quoted string literals in SQL masking logic
MSami625 Nov 1, 2026
d811bd3
feat: enhance SQL masking logic to support double-quoted identifiers …
MSami625 Nov 1, 2026
c983728
feat: add auto-aborted status handling and enhance evaluation cancell…
MSami625 Nov 3, 2026
4fb07b3
feat: implement baseline evaluation loading and enhance visualization…
MSami625 Nov 3, 2026
8732e17
feat: enhance evaluation report period handling and improve data fetc…
MSami625 Nov 3, 2026
cfd1987
feat: add metric cluster handling and improve evaluation retry logic
MSami625 Nov 3, 2026
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
  •  
  •  
  •  
51 changes: 51 additions & 0 deletions .github/workflows/docker-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,54 @@ jobs:
platforms: linux/amd64
build-args: |
INSTALL_EXTRAS=qualitative-voice

build-worker-harbor:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up QEMU (for multi-platform builds)
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to GitHub Container Registry
if: github.event_name == 'workflow_dispatch' && inputs.publish == true
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata for Harbor worker image
id: meta
uses: docker/metadata-action@v5
with:
# Same GHCR package as worker; tags end with -harbor (matches compose + release-and-publish).
images: ${{ env.REGISTRY }}/${{ env.WORKER_IMAGE_NAME }}
tags: |
type=ref,event=branch,suffix=-harbor
type=ref,event=pr,suffix=-harbor
type=raw,value=latest-harbor,enable={{is_default_branch}}

- name: Build Harbor worker image (amd64 only for speed)
uses: docker/build-push-action@v5
with:
context: .
file: docker/Dockerfile.worker
push: ${{ github.event_name == 'workflow_dispatch' && inputs.publish == true }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha,scope=worker-harbor-check
cache-to: type=gha,scope=worker-harbor-check,mode=max
platforms: linux/amd64
build-args: |
PYTHON_VERSION=3.12
INSTALL_EXTRAS=harbor
TORCH_CPU_ONLY=false
20 changes: 16 additions & 4 deletions .github/workflows/pr-dev-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,26 @@ jobs:
- service: api
dockerfile: docker/Dockerfile.api
image_name_var: API_IMAGE_NAME
tag_suffix: ""
cache_scope: api-pr-dev
build_args: ""
- service: worker
dockerfile: docker/Dockerfile.worker
image_name_var: WORKER_IMAGE_NAME
tag_suffix: ""
cache_scope: worker-pr-dev
build_args: |
INSTALL_EXTRAS=qualitative-voice
# Same GHCR package as worker; tags end with -harbor (avoids creating a new package).
- service: worker-harbor
dockerfile: docker/Dockerfile.worker
image_name_var: WORKER_IMAGE_NAME
tag_suffix: "-harbor"
cache_scope: worker-harbor-pr-dev
build_args: |
PYTHON_VERSION=3.12
INSTALL_EXTRAS=harbor
TORCH_CPU_ONLY=false

steps:
- name: Checkout repository
Expand Down Expand Up @@ -141,10 +153,10 @@ jobs:
with:
images: ${{ env.REGISTRY }}/${{ steps.image.outputs.name }}
tags: |
type=raw,value=pr-${{ needs.compute-metadata.outputs.pr_number }}
type=raw,value=pr-${{ needs.compute-metadata.outputs.pr_number }}-${{ needs.compute-metadata.outputs.short_sha }}
type=raw,value=${{ needs.compute-metadata.outputs.dev_version }}
type=raw,value=dev-latest-pr-${{ needs.compute-metadata.outputs.pr_number }}
type=raw,value=pr-${{ needs.compute-metadata.outputs.pr_number }}${{ matrix.tag_suffix }}
type=raw,value=pr-${{ needs.compute-metadata.outputs.pr_number }}-${{ needs.compute-metadata.outputs.short_sha }}${{ matrix.tag_suffix }}
type=raw,value=${{ needs.compute-metadata.outputs.dev_version }}${{ matrix.tag_suffix }}
type=raw,value=dev-latest-pr-${{ needs.compute-metadata.outputs.pr_number }}${{ matrix.tag_suffix }}

- name: Build and optionally push image
uses: docker/build-push-action@v5
Expand Down
50 changes: 49 additions & 1 deletion .github/workflows/release-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ env:
REGISTRY: ghcr.io
API_IMAGE_NAME: ${{ github.repository }}-api
WORKER_IMAGE_NAME: ${{ github.repository }}-worker
WORKER_HARBOR_IMAGE_NAME: ${{ github.repository }}-worker-harbor

permissions:
contents: write
Expand Down Expand Up @@ -180,6 +181,7 @@ jobs:
run: |
echo "API_IMAGE_NAME=${API_IMAGE_NAME,,}" >> $GITHUB_ENV
echo "WORKER_IMAGE_NAME=${WORKER_IMAGE_NAME,,}" >> $GITHUB_ENV
echo "WORKER_HARBOR_IMAGE_NAME=${WORKER_HARBOR_IMAGE_NAME,,}" >> $GITHUB_ENV

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand Down Expand Up @@ -215,13 +217,30 @@ jobs:
build-args: |
INSTALL_EXTRAS=qualitative-voice

- name: Build and push Harbor worker image (by digest)
id: build-worker-harbor
uses: docker/build-push-action@v5
with:
context: .
file: docker/Dockerfile.worker
platforms: ${{ matrix.platform }}
outputs: type=image,name=${{ env.REGISTRY }}/${{ env.WORKER_IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true
cache-from: type=gha,scope=worker-harbor-${{ matrix.slug }}
cache-to: type=gha,scope=worker-harbor-${{ matrix.slug }},mode=max
build-args: |
PYTHON_VERSION=3.12
INSTALL_EXTRAS=harbor
TORCH_CPU_ONLY=false

- name: Export digests
run: |
mkdir -p /tmp/digests/api /tmp/digests/worker
mkdir -p /tmp/digests/api /tmp/digests/worker /tmp/digests/worker-harbor
api_digest="${{ steps.build-api.outputs.digest }}"
worker_digest="${{ steps.build-worker.outputs.digest }}"
harbor_digest="${{ steps.build-worker-harbor.outputs.digest }}"
touch "/tmp/digests/api/${api_digest#sha256:}"
touch "/tmp/digests/worker/${worker_digest#sha256:}"
touch "/tmp/digests/worker-harbor/${harbor_digest#sha256:}"

- name: Upload API digest
uses: actions/upload-artifact@v4
Expand All @@ -239,6 +258,14 @@ jobs:
if-no-files-found: error
retention-days: 1

- name: Upload Harbor worker digest
uses: actions/upload-artifact@v4
with:
name: worker-harbor-digest-${{ matrix.slug }}
path: /tmp/digests/worker-harbor/*
if-no-files-found: error
retention-days: 1

# ── Step 3: Merge platform digests into multi-arch manifests ─
merge:
needs: [release, build]
Expand All @@ -252,6 +279,7 @@ jobs:
run: |
echo "API_IMAGE_NAME=${API_IMAGE_NAME,,}" >> $GITHUB_ENV
echo "WORKER_IMAGE_NAME=${WORKER_IMAGE_NAME,,}" >> $GITHUB_ENV
echo "WORKER_HARBOR_IMAGE_NAME=${WORKER_HARBOR_IMAGE_NAME,,}" >> $GITHUB_ENV

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -277,6 +305,13 @@ jobs:
pattern: worker-digest-*
merge-multiple: true

- name: Download Harbor worker digests
uses: actions/download-artifact@v4
with:
path: /tmp/digests/worker-harbor
pattern: worker-harbor-digest-*
merge-multiple: true

- name: Create API multi-arch manifest
env:
VERSION: ${{ needs.release.outputs.version }}
Expand All @@ -303,6 +338,19 @@ jobs:
-t "$IMAGE:latest" \
$(printf "$IMAGE@sha256:%s " *)

- name: Create Harbor worker multi-arch manifest
env:
VERSION: ${{ needs.release.outputs.version }}
MAJOR_MINOR: ${{ needs.release.outputs.major_minor }}
IMAGE: ${{ env.REGISTRY }}/${{ env.WORKER_IMAGE_NAME }}
run: |
cd /tmp/digests/worker-harbor
docker buildx imagetools create \
-t "$IMAGE:${VERSION}-harbor" \
-t "$IMAGE:${MAJOR_MINOR}-harbor" \
-t "$IMAGE:latest-harbor" \
$(printf "$IMAGE@sha256:%s " *)

- name: Create GitHub release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -137,5 +137,8 @@ enterprise/keys/*.pem
celerybeat-schedule
celerybeat-schedule-*
celerybeat-schedule.*
.claude/
.cursor/


#
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -520,8 +520,8 @@ gcs:
# CORS Settings
cors:
origins:
- "http://localhost:3000"
- "http://localhost:8000"
- "https://sandbox.efficientai.cloud"

# API Settings
api:
Expand Down
Loading
Loading