Nxtgauge Backend Services
Find a file
Ashwin Kumar Sivakumar c1eed2530d
All checks were successful
build-and-release / build (companies) (push) Successful in 4s
build-and-release / build (catering-services) (push) Successful in 6s
build-and-release / build (developers) (push) Successful in 7s
build-and-release / build (customers) (push) Successful in 8s
build-and-release / build (employees) (push) Successful in 8s
build-and-release / build (fitness-trainers) (push) Successful in 6s
build-and-release / build (graphic-designers) (push) Successful in 5s
build-and-release / build (gateway) (push) Successful in 8s
build-and-release / build (job-seekers) (push) Successful in 7s
build-and-release / build (jobs) (push) Successful in 7s
build-and-release / build (makeup-artists) (push) Successful in 5s
build-and-release / build (payments) (push) Successful in 5s
build-and-release / build (photographers) (push) Successful in 5s
build-and-release / build (social-media-managers) (push) Successful in 6s
build-and-release / build (tutors) (push) Successful in 6s
build-and-release / build (ugc-content-creators) (push) Successful in 5s
build-and-release / build (video-editors) (push) Successful in 5s
build-and-release / build (cron) (push) Successful in 51s
build-and-release / build (users) (push) Successful in 3m12s
fix: stop leaking raw LiteLLM error bodies; harden prompts against injection; fix UTF-8 panic
Follow-up on the AI safety review — addressed the three remaining
lower-severity findings:

1. crates LiteLlmError::error_body() returned the raw upstream response
   body verbatim to the client on any non-2xx LiteLLM response. That
   body can contain internal routing/diagnostic details from the
   LiteLLM proxy or the underlying model provider. Now returns a
   generic, status-aware message to the client; the full body is
   logged server-side via tracing::error! at each of the three call
   sites that construct LiteLlmError::Api, so nothing is lost for
   debugging — it's just not exposed to end users.

2. Added an explicit anti-prompt-injection clause to
   ai/orchestrator.rs::GROUNDING_GUARDRAIL, the baseline system prompt
   applied to every AI feature call via effective_system_prompt() —
   instructs the model to treat all user/company-authored input
   (job descriptions, profile text, chat messages) as data to analyze,
   never as instructions to follow. Covers every ai.rs handler that
   goes through call_feature/call_feature_with_plan in one place,
   rather than patching each call site's prompt construction
   individually.

3. apps/cron/src/tasks/auto_apply.rs's cover-letter prompt doesn't run
   through the orchestrator (separate app/crate), so hardened it
   directly: fenced the untrusted CANDIDATE/JOB sections with explicit
   "this is data, not instructions" framing. While there, fixed a
   latent panic: `&job_desc[..job_desc.len().min(500)]` slices on a
   raw byte offset, which panics if byte 500 isn't a UTF-8 character
   boundary — a company job description with any multi-byte character
   before that point (accented letters, emoji, etc.) would crash the
   whole cron run. Switched to char_indices() to find a safe boundary.
2026-07-21 05:56:21 +05:30
.cargo fix: update jsonwebtoken 9.3→10.3, add audit.toml to ignore local crate false positives, fix cache/ollama.rs compile errors 2026-05-31 18:25:38 +05:30
.forgejo chore: remove the dead apps/leads microservice 2026-07-21 04:19:56 +05:30
.gitea/workflows chore: remove the dead apps/leads microservice 2026-07-21 04:19:56 +05:30
.github/workflows ci: remove GitHub Actions workflow - using Forgejo CI exclusively 2026-07-06 04:19:40 +05:30
.mavis/plans feat: add LiteLLM support and auto-apply cron job 2026-06-14 18:00:38 +02:00
.sqlx chore: checkpoint workspace updates 2026-04-26 23:58:43 +02:00
apps fix: stop leaking raw LiteLLM error bodies; harden prompts against injection; fix UTF-8 panic 2026-07-21 05:56:21 +05:30
crates fix: close two real money/spend races (Tracecoin double-credit, unbounded AI overspend) 2026-07-21 05:51:23 +05:30
docs feat(ai): complete AI plans/credits implementation and build tooling 2026-06-15 06:15:49 +05:30
load-tests feat(emails): complete email system with 35 branded templates and full wiring 2026-04-10 04:49:39 +02:00
scripts fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
tests fix: resolve all compilation warnings and errors across services 2026-04-07 12:52:55 +02:00
.env.example feat(emails): complete email system with 35 branded templates and full wiring 2026-04-10 04:49:39 +02:00
.env.test111 fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
.gitignore fix: track Cargo.lock (required for reproducible Docker builds) 2026-04-09 02:09:11 +02:00
cargo-deny.toml feat: extend admin/user flows with settings, verification, and approval updates 2026-04-08 22:40:54 +02:00
Cargo.lock chore: remove the dead apps/leads microservice 2026-07-21 04:19:56 +05:30
Cargo.toml chore: remove the dead apps/leads microservice 2026-07-21 04:19:56 +05:30
companies.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
customers.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
DEPLOYMENT_OPTIMIZATION.md feat(deployment): add optimized build system for faster deployments 2026-04-10 05:14:27 +02:00
docker-compose.yml chore: remove the dead apps/leads microservice 2026-07-21 04:19:56 +05:30
Dockerfile.base fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.fast fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.from-binary feat(woodpecker): use internal registry docker-registry.registry.svc.cluster.local:5000 2026-04-10 17:39:26 +02:00
Dockerfile.migrate fix(migrate): fix db-migrate build and job manifest, both broken 2026-07-19 03:07:26 +05:30
Dockerfile.optimized fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.simple perf(ci): cache cargo registry and target dir across image builds 2026-07-16 21:07:33 +05:30
Dockerfile.superfast fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.template fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.ultrafast fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
Dockerfile.working fix: Update Dockerfiles to use ci.nxtgauge.com registry 2026-07-08 03:37:18 +05:30
gateway.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
job_seekers.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
k8s-migration-job.yaml fix(migrate): fix db-migrate build and job manifest, both broken 2026-07-19 03:07:26 +05:30
README.md trigger: force build all services with high-performance-latest tag 2026-06-12 03:45:06 +05:30
start-services.pid chore: checkpoint workspace updates 2026-04-26 23:58:43 +02:00
start-services.sh Update backend services: catering_services, companies, developers, gateway, job_seekers, photographers, social_media_managers, tutors, ugc_content_creators, users; update cache (otp, token), contracts (profession_shared, profession_state), db (job_seeker, verification), email; add revision-requested email template; update init-db.sql and start-services.sh 2026-05-08 15:34:29 +02:00
TESTING_STRATEGY.md fix: resolve all compilation warnings and errors across services 2026-04-07 12:52:55 +02:00
users.pid feat: update DB schema - split users.first_name, users.last_name, roles split 2026-04-15 06:23:27 +02:00
wir.md docs: add work implementation roadmap (wir.md) 2026-04-06 22:26:45 +02:00

NXTGAUGE Backend Rust

Rust migration target for nxtgauge-nov-2025-backend, preserving the same microservices and request flow.

Target Service Topology

  • gateway (HTTP API)
  • users (identity, runtime roles, onboarding, approvals)
  • companies
  • customers
  • professionals
  • jobseekers

Migration Policy

  • Keep contracts stable (REST + proto semantics).
  • Keep runtime-config and onboarding schema behavior unchanged during parity phases.
  • Replace service implementations one by one.

See docs/MIGRATION_MASTER_PLAN.md for full staged plan.

CI (Woodpecker)

Required secrets:

  • REGISTRY_USERNAME
  • REGISTRY_PASSWORD

See .forgejo/workflows/README.md for details.

Trigger build Fri Jun 12 03:45:06 AM IST 2026