Ashwin Kumar Sivakumar
4097d6a304
ci(forgejo): support alpine runner image
2026-07-03 20:15:08 +05:30
Ashwin Kumar Sivakumar
89ad45ac35
chore: trigger forgejo deploy 20260703200544
2026-07-03 20:05:44 +05:30
Ashwin Kumar Sivakumar
e9fc9c9502
ci(forgejo): update backend build pipeline
2026-07-03 19:54:16 +05:30
Ashwin Kumar Sivakumar
96276579d1
ci: sync GitHub pushes to Forgejo
build-and-push / detect-changes (push) Failing after 0s
build-and-push / build (catering-services) (push) Has been skipped
build-and-push / build (companies) (push) Has been skipped
build-and-push / build (cron) (push) Failing after 0s
build-and-push / build (users) (push) Failing after 0s
build-and-push / build (video-editors) (push) Failing after 0s
build-and-push / build (customers) (push) Failing after 0s
build-and-push / build (developers) (push) Failing after 0s
build-and-push / build (employees) (push) Failing after 0s
build-and-push / build (fitness-trainers) (push) Failing after 0s
build-and-push / build (gateway) (push) Failing after 0s
build-and-push / build (graphic-designers) (push) Failing after 0s
build-and-push / build (job-seekers) (push) Failing after 0s
build-and-push / build (jobs) (push) Failing after 0s
build-and-push / build (leads) (push) Failing after 0s
build-and-push / build (makeup-artists) (push) Failing after 0s
build-and-push / build (payments) (push) Failing after 0s
build-and-push / build (photographers) (push) Failing after 0s
build-and-push / build (social-media-managers) (push) Failing after 0s
build-and-push / build (tutors) (push) Failing after 0s
build-and-push / build (ugc-content-creators) (push) Failing after 0s
2026-07-03 18:59:03 +05:30
Ashwin Kumar Sivakumar
d48983ee21
feat(ai): Phase 4 - multilingual, voice, A/B testing, analytics (with stubs)
build-and-push / detect-changes (push) Failing after 0s
build-and-push / build (catering-services) (push) Failing after 0s
build-and-push / build (companies) (push) Has been skipped
build-and-push / build (cron) (push) Has been skipped
build-and-push / build (customers) (push) Has been skipped
build-and-push / build (developers) (push) Has been skipped
build-and-push / build (fitness-trainers) (push) Has been skipped
build-and-push / build (employees) (push) Failing after 0s
build-and-push / build (gateway) (push) Has been skipped
build-and-push / build (graphic-designers) (push) Has been skipped
build-and-push / build (job-seekers) (push) Failing after 0s
build-and-push / build (jobs) (push) Has been skipped
build-and-push / build (leads) (push) Has been skipped
build-and-push / build (tutors) (push) Has been skipped
build-and-push / build (makeup-artists) (push) Failing after 0s
build-and-push / build (payments) (push) Has been skipped
build-and-push / build (photographers) (push) Has been skipped
build-and-push / build (social-media-managers) (push) Failing after 0s
build-and-push / build (users) (push) Has been skipped
build-and-push / build (ugc-content-creators) (push) Has been skipped
build-and-push / build (video-editors) (push) Has been skipped
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