Commit graph

308 commits

Author SHA1 Message Date
Ashwin Kumar Sivakumar
d48983ee21 feat(ai): Phase 4 - multilingual, voice, A/B testing, analytics (with stubs)
Some checks failed
build-and-push / detect-changes (push) Successful in 6s
build-and-push / build (catering-services) (push) Failing after 5s
build-and-push / build (companies) (push) Failing after 6s
build-and-push / build (cron) (push) Failing after 5s
build-and-push / build (customers) (push) Failing after 5s
build-and-push / build (developers) (push) Failing after 5s
build-and-push / build (employees) (push) Successful in 11s
build-and-push / build (fitness-trainers) (push) Successful in 11s
build-and-push / build (graphic-designers) (push) Successful in 12s
build-and-push / build (gateway) (push) Successful in 25s
build-and-push / build (jobs) (push) Failing after 18s
build-and-push / build (leads) (push) Failing after 19s
build-and-push / build (makeup-artists) (push) Failing after 4s
build-and-push / build (payments) (push) Failing after 4s
build-and-push / build (photographers) (push) Failing after 18s
build-and-push / build (job-seekers) (push) Failing after 1m30s
build-and-push / build (tutors) (push) Failing after 5s
build-and-push / build (social-media-managers) (push) Failing after 20s
build-and-push / build (ugc-content-creators) (push) Failing after 5s
build-and-push / build (users) (push) Failing after 6s
build-and-push / build (video-editors) (push) Failing after 5s
2026-06-08 06:41:10 +05:30
Ashwin Kumar Sivakumar
088e467e58 feat(ai): Phase 3 - RAG, streaming, rate limiting, feedback 2026-06-08 06:15:58 +05:30
Ashwin Kumar Sivakumar
cc11657236 feat(ai): Phase 2 - functional endpoints with personas and pillars 2026-06-08 05:50:17 +05:30
Ashwin Kumar Sivakumar
3e97e7a201 force build: rebuild users with Ask Ash Phase 1 2026-06-07 22:43:01 +05:30
Ashwin Kumar Sivakumar
8112142b75 feat(ai): add Ask Ash Phase 1 - strict keyword intent classification + LLM Guard
- Add classify_strict_keywords for fast-path intent detection (8 categories)
- Add llm_guard_check for prompt injection/abuse filtering (3 layers)
- Wire both into ai_chat_message
- Add 14 unit tests (30 tests pass)

trigger gitea pipeline
2026-06-07 22:39:03 +05:30
Ashwin Kumar Sivakumar
c262e89e8f feat(gateway): add security headers middleware
Add security headers to all gateway responses:
- X-Frame-Options: DENY
- X-Content-Type-Options: nosniff
- Strict-Transport-Security: max-age=31536000; includeSubDomains
- Referrer-Policy: strict-origin-when-cross-origin
- Content-Security-Policy: default-src 'self'

Uses tower_http::set_header::SetResponseHeaderLayer applied globally.
Closes CRITICAL SECURITY GAP #2 from security review.
2026-05-31 22:55:00 +05:30
Ashwin Kumar Sivakumar
ed80820913 security: remove hardcoded fallback credentials and fix aws feature flag
- payments/src/main.rs: fail-fast on BEECEPTOR_URL and DATABASE_URL
- gateway/src/main.rs: fail-fast on all service URLs and CORS URLs
- users/src/handlers/ai.rs: fail-fast on LEADS_SERVICE_URL
- leads/src/main.rs: fail-fast on OLLAMA_BASE_URL and OLLAMA_CHAT_MODEL
- storage/Cargo.toml: replace rustls-aws-lc with rustls for aws-config/aws-sdk-s3
2026-05-31 22:53:29 +05:30
Ashwin Kumar Sivakumar
8f0cf64eb4 fix: update jsonwebtoken 9.3→10.3, add audit.toml to ignore local crate false positives, fix cache/ollama.rs compile errors
- Update jsonwebtoken from 9.3 to 10.3 in crates/auth/Cargo.toml and crates/contracts/Cargo.toml
- Create .cargo/audit.toml to ignore false positives for local workspace crates 'cache' and 'users'
- Fix pre-existing compile errors in crates/cache/src/ollama.rs (missing reqwest dep, broken format! string literals)
- Add reqwest workspace dependency to crates/cache/Cargo.toml
2026-05-31 18:25:38 +05:30
Ashwin Kumar Sivakumar
cda228482e feat: trigger build after registry fix 2026-05-30 03:42:03 +05:30
Ashwin Kumar Sivakumar
adc42d358a chore: trigger gitea pipeline 2026-05-30 02:05:22 +05:30
Ashwin Kumar Sivakumar
8260d54534 feat: Add Ask Ash AI credit system endpoints
- Add AI credit management endpoints for companies
- Add AI usage history tracking
- Add AI content generation with Ollama integration
- Add Ollama client for generating job descriptions, resume analysis, and cover letters
- Integrate AI router into companies service
2026-05-29 20:53:51 +05:30
Tracewebstudio Dev
81d1df70a8 Resolve conflicts: remove Woodpecker CI, use Gitea 2026-05-08 15:40:52 +02:00
Tracewebstudio Dev
9313f1288c Update Woodpecker CI/CD configs and backend: add .woodpecker/ directory, update base/dockerhub/yml configs, Cargo.lock, email handler and crate 2026-05-08 15:34:35 +02:00
Tracewebstudio Dev
b16969a40f 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
Tracewebstudio Dev
486d1a8848 fix(ci): always update gitops and ensure high-performance-latest tag push
- Change if: success() to if: always() on gitops update step
- Add final fallback push with no cache if all builds fail
- Ensure high-performance-latest is always pushed even on partial failures
2026-05-05 21:09:43 +02:00
Tracewebstudio Dev
5629326848 chore: trigger gitea pipeline 2026-05-05 21:02:38 +02:00
Tracewebstudio Dev
a805c6db83 chore: trigger gitea pipeline 2026-05-05 20:26:48 +02:00
Tracewebstudio Dev
f82d0c5153 chore: trigger gitea pipeline - rebuild gateway 2026-05-05 19:22:10 +02:00
Tracewebstudio Dev
e16b526fdc ci: rebuild gateway with routing fix 2026-05-05 19:14:54 +02:00
Tracewebstudio Dev
324b00f536 ci: trigger rebuild 2026-05-05 18:54:22 +02:00
Tracewebstudio Dev
f75a348fc7 feat(ai): add missing intents, admin guards, and validation checks
- Add missing AI intents: generate_cover_letter, improve_resume, request_view_contact, auto_apply_job, unknown
- Add is_internal_admin helper to prevent admin/super_admin users from using user-facing AI flows
- Add admin guards to: ai_generate_job_field, ai_generate_cover_letter, ai_tailor_resume, ai_auto_apply, ai_auto_respond_to_lead
- Add professional approval check in ai_auto_respond_to_lead - must be APPROVED status
- Add tracecoin balance check before contact reveal (requires 30 tracecoins)
- Add KB escalation: when no articles found, suggest creating support ticket
- Add explicit unknown intent handler with helpful message
2026-05-05 17:44:40 +02:00
Tracewebstudio Dev
2aba45c9fa feat: password reset via 6-digit code instead of token link
- Generate 6-digit code instead of UUID token for password reset
- Store in Redis with 15 min TTL (was 1 hour)
- Update email template to show code instead of reset link
- Update ResetPasswordPayload to accept code instead of token
- Update send_password_reset_email to accept code parameter
2026-05-05 17:21:56 +02:00
Tracewebstudio Dev
c443ff5b50 chore: trigger rebuild with real code change 2026-05-01 21:50:24 +02:00
Tracewebstudio Dev
2a24b2aa83 chore: force rebuild gateway image 2026-05-01 21:36:05 +02:00
Tracewebstudio Dev
c66e63f87a chore: force rebuild to restore image tags after prune 2026-05-01 19:20:02 +02:00
Tracewebstudio Dev
09075087f0 ci: skip gitops update if GITEOPS_REPO secret not set 2026-05-01 18:45:57 +02:00
Tracewebstudio Dev
2a588b45d6 ci: update gitops with new SHA on each build (auto-deploy) 2026-05-01 11:04:12 +02:00
Tracewebstudio Dev
3703d70eb2 ci: add post-push registry prune (keep latest 1 SHA build) 2026-05-01 10:10:16 +02:00
Tracewebstudio Dev
42a9a17133 Add Redis caching for AI generation rate limiting
- Add cache::ai module with Redis rate limiting for AI generations
- Add functions: check_ai_rate_limit, get_ai_usage, cache_ai_response,
  get_cached_ai_response, invalidate_ai_cache, reset_daily_usage
- Update check_and_increment_usage to use Redis fast-path before DB
- Redis key pattern: ai:rate:{user_id} for 24hr sliding window counter
2026-05-01 03:02:46 +02:00
Tracewebstudio Dev
aa71ccdf36 Add AI endpoints and gateway route fix
- Fix gateway: add /api/ai route to users_url
- Add AI job field generation endpoints (generate-job-field, generate-cover-letter, tailor-resume, auto-apply)
- Add AI usage tracking and rate limiting
- Add professional auto-respond-to-lead endpoint (30 tracecoins)
- Add DB migrations for AI usage tracking tables
- Update leads service with AI auto-respond functionality
2026-05-01 02:54:42 +02:00
Tracewebstudio Dev
8b87b3bb53 chore: trigger gitea pipeline 2026-05-01 00:17:44 +02:00
Tracewebstudio Dev
3415308c39 chore: trigger gitea pipeline 2026-05-01 00:14:33 +02:00
Tracewebstudio Dev
56be8381d1 chore: trigger gitea pipeline 2026-04-30 22:51:27 +02:00
Tracewebstudio Dev
d8aad4faad chore: trigger gitea pipeline 2026-04-30 22:47:33 +02:00
Tracewebstudio Dev
8651175c12 chore: trigger gitea pipeline 2026-04-30 22:39:00 +02:00
Tracewebstudio Dev
413254d53f fix(ci): force http1.1 for gitea git transport 2026-04-30 22:32:38 +02:00
Tracewebstudio Dev
a8e848da1b chore(ci): enable git trace for sync debugging 2026-04-30 22:27:16 +02:00
Tracewebstudio Dev
28a2051815 fix(ci): use GITEA_SECRET in sync workflow 2026-04-30 22:18:09 +02:00
Tracewebstudio Dev
f94a80afc8 fix(ci): enforce Admin basic auth sync flow 2026-04-30 22:03:23 +02:00
Tracewebstudio Dev
f4ddd9b2ee fix(ci): always use token owner login for gitea auth 2026-04-30 21:45:03 +02:00
Tracewebstudio Dev
b8dad1c0a5 fix(ci): use GITEA_SECRET for sync token 2026-04-30 21:40:10 +02:00
Tracewebstudio Dev
fb817595e0 fix(ci): add preflight token check and static secret usage 2026-04-30 21:36:42 +02:00
Tracewebstudio Dev
1d06760aba fix(ci): use authenticated remote URL for gitea git ops 2026-04-30 21:23:07 +02:00
Tracewebstudio Dev
38db7dcaf3 chore(ci): log resolved gitea user and validate ls-remote 2026-04-30 21:03:52 +02:00
Tracewebstudio Dev
0c6415873f fix(ci): tolerate /user 401 and fallback to configured auth user 2026-04-30 20:59:10 +02:00
Tracewebstudio Dev
87bd606b85 fix(ci): use basic auth header with token-owner login 2026-04-30 20:56:11 +02:00
Tracewebstudio Dev
bcff2ffba2 fix(ci): support GITEA_TOKEN secret with fallback 2026-04-30 20:48:06 +02:00
Tracewebstudio Dev
d1ec7f4c2d fix(ci): hardcode admin gitea sync remote 2026-04-30 20:45:49 +02:00
Tracewebstudio Dev
6a22b107ba fix(ci): use basic auth header for gitea git operations 2026-04-30 20:38:18 +02:00
Tracewebstudio Dev
017c550b96 fix(ci): prefer token owner login for gitea git auth 2026-04-30 20:33:51 +02:00