{statusInfo.icon}
diff --git a/archon-ui-main/src/features/projects/tasks/hooks/tests/useTaskQueries.test.ts b/archon-ui-main/src/features/projects/tasks/hooks/tests/useTaskQueries.test.ts
index b2612637..e4dd8433 100644
--- a/archon-ui-main/src/features/projects/tasks/hooks/tests/useTaskQueries.test.ts
+++ b/archon-ui-main/src/features/projects/tasks/hooks/tests/useTaskQueries.test.ts
@@ -3,7 +3,7 @@ import { renderHook, waitFor } from "@testing-library/react";
import React from "react";
import { beforeEach, describe, expect, it, vi } from "vitest";
import type { Task } from "../../types";
-import { taskKeys, useCreateTask, useProjectTasks, useTaskCounts } from "../useTaskQueries";
+import { taskKeys, useCreateTask, useProjectTasks } from "../useTaskQueries";
// Mock the services
vi.mock("../../services", () => ({
diff --git a/archon-ui-main/src/features/projects/views/ProjectsView.tsx b/archon-ui-main/src/features/projects/views/ProjectsView.tsx
index da1b3b65..8945e99f 100644
--- a/archon-ui-main/src/features/projects/views/ProjectsView.tsx
+++ b/archon-ui-main/src/features/projects/views/ProjectsView.tsx
@@ -1,13 +1,13 @@
import { useQueryClient } from "@tanstack/react-query";
import { motion } from "framer-motion";
-import { Activity, CheckCircle2, FileText, LayoutGrid, List, ListTodo, Pin } from "lucide-react";
+import { Activity, CheckCircle2, FileText, List, ListTodo, Pin } from "lucide-react";
import { useCallback, useEffect, useMemo, useState } from "react";
import { useNavigate, useParams } from "react-router-dom";
import { useStaggeredEntrance } from "../../../hooks/useStaggeredEntrance";
import { isOptimistic } from "../../shared/utils/optimistic";
import { DeleteConfirmModal } from "../../ui/components/DeleteConfirmModal";
-import { OptimisticIndicator } from "../../ui/primitives/OptimisticIndicator";
import { Button, PillNavigation, SelectableCard } from "../../ui/primitives";
+import { OptimisticIndicator } from "../../ui/primitives/OptimisticIndicator";
import { StatPill } from "../../ui/primitives/pill";
import { cn } from "../../ui/primitives/styles";
import { NewProjectModal } from "../components/NewProjectModal";
@@ -71,7 +71,7 @@ export function ProjectsView({ className = "", "data-id": dataId }: ProjectsView
const sortedProjects = useMemo(() => {
// Filter by search query
const filtered = (projects as Project[]).filter((project) =>
- project.title.toLowerCase().includes(searchQuery.toLowerCase())
+ project.title.toLowerCase().includes(searchQuery.toLowerCase()),
);
// Sort: pinned first, then alphabetically
diff --git a/archon-ui-main/src/features/shared/api/apiClient.ts b/archon-ui-main/src/features/shared/api/apiClient.ts
index e766fbed..3b890d8c 100644
--- a/archon-ui-main/src/features/shared/api/apiClient.ts
+++ b/archon-ui-main/src/features/shared/api/apiClient.ts
@@ -60,7 +60,7 @@ export async function callAPIWithETag
(endpoint: string, options: Re
// Only set Content-Type for requests that have a body (POST, PUT, PATCH, etc.)
// GET and DELETE requests should not have Content-Type header
- const method = options.method?.toUpperCase() || "GET";
+ const _method = options.method?.toUpperCase() || "GET";
const hasBody = options.body !== undefined && options.body !== null;
if (hasBody && !headers["Content-Type"]) {
headers["Content-Type"] = "application/json";
diff --git a/archon-ui-main/src/features/ui/primitives/combobox.tsx b/archon-ui-main/src/features/ui/primitives/combobox.tsx
index ecd36c71..928fb08e 100644
--- a/archon-ui-main/src/features/ui/primitives/combobox.tsx
+++ b/archon-ui-main/src/features/ui/primitives/combobox.tsx
@@ -164,7 +164,7 @@ export const ComboBox = React.forwardRef(
const highlightedElement = optionsRef.current.querySelector('[data-highlighted="true"]');
highlightedElement?.scrollIntoView({ block: "nearest" });
}
- }, [highlightedIndex, open]);
+ }, [open]);
return (
diff --git a/python/Dockerfile.server b/python/Dockerfile.server
index c5ae5ec9..cf004dd6 100644
--- a/python/Dockerfile.server
+++ b/python/Dockerfile.server
@@ -13,9 +13,10 @@ RUN apt-get update && apt-get install -y \
COPY pyproject.toml .
# Install server dependencies to a virtual environment using uv
+# Install base dependencies (includes structlog) and server groups
RUN uv venv /venv && \
. /venv/bin/activate && \
- uv pip install --group server --group server-reranking
+ uv pip install . --group server --group server-reranking
# Runtime stage
FROM python:3.12-slim
@@ -56,8 +57,9 @@ ENV PATH=/venv/bin:$PATH
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
RUN playwright install chromium
-# Copy server code and tests
+# Copy server code, agent work orders, and tests
COPY src/server/ src/server/
+COPY src/agent_work_orders/ src/agent_work_orders/
COPY src/__init__.py src/
COPY tests/ tests/
@@ -76,4 +78,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
CMD sh -c "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:${ARCHON_SERVER_PORT}/health')\""
# Run the Server service
-CMD sh -c "python -m uvicorn src.server.main:socket_app --host 0.0.0.0 --port ${ARCHON_SERVER_PORT} --workers 1"
\ No newline at end of file
+CMD sh -c "python -m uvicorn src.server.main:app --host 0.0.0.0 --port ${ARCHON_SERVER_PORT} --workers 1"
\ No newline at end of file