Skip to content

User nandha - #2

Closed
nandhakumar2611 wants to merge 5 commits into
migration/self-hostedfrom
user_nandha
Closed

nandhakumar2611 wants to merge 5 commits into
migration/self-hostedfrom
user_nandha

Conversation

@nandhakumar2611

@nandhakumar2611 nandhakumar2611 commented Sep 7, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Merges the Razorpay subscription/usage/admin system (this branch) with
    migration/self-hosted's onboarding/resume-editing work and the
    feature/resume-builder branch (the functional resume builder), which had
    never been merged into any shared branch.
  • Fixes a crash: the subscription rewrite deleted ai_service.check_entitlement(),
    but edit-resume and ats-score still called it, raising AttributeError on
    every request. Removed the dead gate — access to an existing job's resume
    is already covered by the job-track usage limit at creation time.

nandhakumar2611 and others added 5 commits August 17, 2026 12:34
The /api/v1/builder/* backend was half-built (models/prompts existed but no
router/service) and the builder page was unreachable. This makes the builder
work end-to-end against the real LaTeX template, without disturbing the
tailored-resume generation flow.

Backend:
- services/builder.py: deterministic LaTeX renderer/parser driven by
  config/resume-template.tex, latex_escape for free text, seed/save/undo/
  apply+ignore suggestion/save-as-base, and a get_or_create_builder.
- routers/builder.py: /seed, PUT /{job_id}, /undo, /suggestions/{id}/apply|
  ignore, /save-as-base; registered in main.py.
- schemas/ai.py: reshape Builder* to the frontend's actual contract.
- routers/ai.py: resolve title/jd/resume_json for the builder prompts from the
  job + seeded builder, persist job_match/score/suggestions, add a
  deterministic section-completion fallback.
- prompts/builder_score.yaml: add a section {score, checks} bucket.

Frontend:
- Sidebar "Resume Builder" nav -> /builder index -> /builder/:jobId.
- pages/builder-index.tsx: pick-a-job landing + base-resume card.
- job-detail-dialog.tsx: Edit tab (company/title/url/location/description/
  notes/status) and an "Open in Resume Builder" button in Documents.
- Extract hex<->rgb color helpers into lib/colors.ts.

Co-Authored-By: Claude Code <noreply@anthropic.com>
render_latex_from_content sliced the template preamble as
template[start:end] where end pointed at \begin{document}, so the emitted
document never opened it. pdflatex then failed with "Missing \begin{document}"
at the first \begin{center} in the body, which returned a 400 from latex-server.

Include \begin{document} in the preamble slice and add it to the fallback
preamble too, so the document opens before any body content. Verified by
compiling the rendered LaTeX with pdflatex (1 page, exit 0) and asserting
begin{document} < begin{center} < end{document} in the regression test.

Co-Authored-By: Claude Code <noreply@anthropic.com>
…n work

Both branches diverged from the same point: this branch added the Razorpay
subscription/usage/admin system, while migration/self-hosted kept moving
forward with onboarding, resume editing, and job-management features. Merge
conflicts were resolved by keeping both sides' additions (imports, routes,
nav items, state). Also fixes a real bug the merge exposed: edit-resume and
ats-score endpoints called ai_service.check_entitlement(), which the
subscription rewrite had deleted in favor of usage_service — this crashed
both endpoints with AttributeError. Removed the dead call since access to an
existing job's resume is already gated by job-track usage at job creation.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This branch had the friend's actual new feature (a functional resume
builder: seed/save/undo, job-match/score/suggestions, PDF rendering fix)
sitting on origin/feature/resume-builder, unmerged into migration/self-hosted
or this branch. Pulled it in and reconciled with the subscription/usage
system: kept both the cover-letter usage increment and the builder-analysis
persistence in ai_generate, and registered the builder router in main.py.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@KunalScriptz
KunalScriptz deleted the user_nandha branch October 8, 2026 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants