Nxtgauge AI Assistant
Find a file
Ashwin Kumar Sivakumar 37af327fa1
All checks were successful
build-and-release / build (push) Successful in 3m21s
fix(ci): match digest-pinned image format when updating gitops
The gitops-update sed only matched the old tag-based image reference
(image: ...:SHA). After the digest-pinning fix in nxtgauge-gitops
(release-patch.yaml now uses @sha256:... to stop Flux's
ImageUpdateAutomation from racing this file), the regex silently
matched nothing, git diff showed no change, and every build since
has skipped deploying - the cluster stayed on an old digest despite
CI reporting success. Now captures the pushed image's digest via
buildx's --metadata-file and writes @sha256:<digest> directly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-17 04:49:58 +05:30
.forgejo fix(ci): match digest-pinned image format when updating gitops 2026-07-17 04:49:58 +05:30
.gitea/workflows fix(ci): use runner docker host 2026-07-05 22:25:37 +05:30
.github/workflows ci: remove GitHub Actions workflow - using Forgejo CI exclusively 2026-07-06 04:19:48 +05:30
migrations feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
prompts/v1 feat: add Ask Ash AI assistant implementation 2026-06-14 20:28:17 +02:00
seeds feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
src fix: use configured model for all LiteLLM completions 2026-07-17 00:48:19 +02:00
.env.example fix(ci): push image to Forgejo registry and update GitOps repo over HTTPS 2026-07-16 20:33:14 +05:30
.gitignore feat(ai-assistant): bootstrap rust axum backend with providers, routes, and db scaffolding 2026-04-11 15:04:14 +02:00
Cargo.lock Fix panic on every authenticated request: jsonwebtoken missing crypto backend 2026-07-02 22:27:03 +05:30
Cargo.toml Fix panic on every authenticated request: jsonwebtoken missing crypto backend 2026-07-02 22:27:03 +05:30
Dockerfile ci: deploy ai assistant via github actions and ghcr 2026-06-14 22:52:50 +05:30
README.md chore: trigger build 2026-07-06 04:42:22 +05:30

nxtgauge-ai-assistant

Backend-only Rust service for Nxtgauge AI workflows.

Scope (MVP)

  • Job description generation
  • Form filling assistance
  • Help article retrieval
  • Support ticket creation via chatbot

Stack

  • Rust + Axum
  • Ollama (default local runtime)
  • Postgres scaffolding via sqlx
  • Provider abstractions for future runtime swaps

Run

cp .env.example .env
cargo run

Endpoints

  • GET /health
  • POST /api/v1/chat/message
  • POST /api/v1/jobs/generate-description
  • POST /api/v1/forms/extract
  • POST /api/v1/tickets/create
  • POST /api/v1/help/search

Environment

  • APP_HOST
  • APP_PORT
  • DATABASE_URL
  • OLLAMA_BASE_URL
  • OLLAMA_CHAT_MODEL (default smollm2:360m)
  • OLLAMA_EMBED_MODEL (default nomic-embed-text)
  • HELP_CENTER_SEED_PATH
  • TICKETS_SOURCE

Architecture

  • chat/: workflow-oriented orchestration
  • jobs/, forms/, tickets/: domain modules
  • providers/llm: AiProvider + Ollama implementation
  • providers/tickets: TicketProvider + mock adapter
  • providers/help_center: HelpCenterProvider + local seed implementation
  • retrieval/embeddings: embedding abstraction + Ollama adapter
  • db/: DB connection, entities, repository helpers
  • routes/, handlers/: API layer

Notes

  • Service starts even if Ollama model is unavailable; provider returns graceful fallback responses.
  • STT (faster-whisper) is intentionally deferred to phase 2.

CI (Woodpecker)

Required secrets:

  • REGISTRY_USERNAME
  • REGISTRY_PASSWORD

Trigger build 1783293142