Skip to content

Integrate CV Builder MVP foundation and close PR cleanup pass#85

Merged
SaharPak merged 70 commits into
mainfrom
cleanup/pr-integration-mvp
Jul 2, 2026
Merged

Integrate CV Builder MVP foundation and close PR cleanup pass#85
SaharPak merged 70 commits into
mainfrom
cleanup/pr-integration-mvp

Conversation

@SaharPak

@SaharPak SaharPak commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR integrates the reviewed volunteer PR work into a coherent MVP foundation for CV Builder. It consolidates schema, intelligence/rules, prompts, archetypes, evaluator logic, and web UI changes after a full PR cleanup pass.

What changed

  • Integrated the selected PRs into one coherent branch.
  • Resolved evaluator and archetype conflicts.
  • Preserved useful contributor work.
  • Added/updated MVP handoff documentation.
  • Fixed small web UI issues discovered during integration.
  • Kept remaining unresolved/deployment-sensitive work out of this PR.

PRs integrated

PRs closed or superseded

PRs intentionally left open

Validation

  • pnpm install — Lockfile up to date, all workspaces resolve
  • pnpm test — 21/21 tests passing (core evaluator + rules + prompts)
  • pnpm lint — 0 errors (1 informational notice about biome migrate)
  • pnpm build — 6/6 packages build successfully; web emits /, /_not-found, /results

Known risks

Handoff

Full details: docs/PR_CLEANUP_HANDOFF.md

Heer Panchal and others added 30 commits May 14, 2026 15:26
   Shared, validated contract for CV Builder surfaces: Resume, JobDescription,
   Archetype, Issue, Claim, and EvalResult (with required rubric/archetype
   versions).

   Closes #47
Scoring brain the prompts reference: rubric v1 (six weighted dimensions
with 0-5 anchors), three role archetypes (Software Engineer, Product
Manager, Data & ML Engineer), keyword-based detectArchetype, and the ATS
and claim validator specs.

Closes #63
The three Phase 1 prompts a power user's agent runs. Markdown templates are
the source of truth; renderers inject the live rubric, archetype weights, and
claim rules so each assembled prompt is self-contained and stays in sync with
the intelligence package. Every prompt asks for JSON matching its schema.

Closes #64
Clone the repo, open Claude Code, run /evaluate-cv: the cv-evaluation skill
runs extract -> detect -> score -> validate-claims locally, reading the prompts
and rubric straight from the repo (no build). A SessionStart hook greets the
user with the available commands on open. Skill subfiles point at the package
sources to avoid drift.

Closes #65
Five fixtures across the three archetypes (including an ATS-hostile resume)
guard the deterministic layer: for each, the detected archetype and ATS read
must match expectations and the resume must parse against the schema. No LLM
involved. Wired as a pnpm eval task and a CI step.

Closes #66
README gets a 'Power User — run it with Claude Code' section (clone, open
Claude Code, /evaluate-cv) linking apps/cli/README.md, and the architecture
tree plus the CONTRIBUTING structure now list schemas, intelligence, prompts,
eval, and apps/cli.

Closes #67
Add path_instructions for core/cli/web packages and markdown docs,
enable ESLint and markdownlint tools, ignore build/dependency output,
disable the review poem, and turn on knowledge base learnings.
Sahar Pakseresht and others added 20 commits June 22, 2026 19:19
- Remove 'Translate the README or docs' section from CONTRIBUTING.md
- Renumber remaining 'no-code' sections 4-6 to 4-5
- Drop 'translations' reference from 'How to submit' section
- Remove 4 README translation rows from ROADMAP.md (pt-BR, hi, ar, zh)

Translation was the lowest-leverage of the open contributor asks. Project
should focus on archetypes, rules, and PR reviews instead.
# Conflicts:
#	packages/core/src/evaluator/index.ts
# Conflicts:
#	packages/core/src/evaluator/index.ts
…hetype

# Conflicts:
#	packages/core/src/__tests__/evaluator.test.ts
# Conflicts:
#	README.md
#	packages/core/src/__tests__/evaluator.test.ts
#	packages/core/src/archetypes/index.ts
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@SaharPak, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 33 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: d5600527-299a-4ccb-b377-d667262e4e57

📥 Commits

Reviewing files that changed from the base of the PR and between a50e384 and 53886c5.

📒 Files selected for processing (1)
  • docs/PR85_ROLLBACK_PLAN.md
📝 Walkthrough

[!WARNING]

Walkthrough skipped

File diffs could not be summarized.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cleanup/pr-integration-mvp

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SaharPak SaharPak merged commit 251140c into main Jul 2, 2026
3 checks passed
SaharPak pushed a commit that referenced this pull request Jul 2, 2026
SaharPak added a commit that referenced this pull request Jul 2, 2026
* docs: align repository documentation with MVP status

Documentation-only audit. No code, evaluator, or rule changes; no new
features; no Cloudflare work; no changes to PR #37 or #78.

User-facing copy fixed:
- README.md: replace misleading ASCII diagram (3 rewrites / Tailored CV)
  with the actual MVP outputs (Score, Issues, Strengths, ATS verdict,
  Archetype); clarify that /evaluate-cv ./my-resume.pdf works only
  because Claude Code reads PDFs natively (the local CLI/web UI parse
  .md and .txt only).
- apps/web-ui layout.tsx: Next.js metadata description replaced with
  honest CV-evaluator copy (no longer 'Build a tailored resume...').
- apps/web-ui/README.md: list all three routes (/, /results, /feedback),
  note the static-export + privacy-first posture.
- apps/cli/README.md: same PDF-clarification note as the root README.
- package.json descriptions (root + core + cli): remove 'tailor /
  build' wording; describe the deterministic evaluator.
- packages/intelligence/README.md: list the eight shipped roles
  (matches README and the actual implementation) and correct the
  default archetype (Backend Engineer, not Software Engineer).
- packages/eval/README.md: drop the outdated LLM-provider claim; the
  MVP is fully deterministic.
- .claude/skills/cv-evaluation/SKILL.md: 'local MVP', not 'hosted
  product'; default archetype corrected.
- ROADMAP.md: status note added; Phase-1 / #74 / #75 / #76 / #85 / #87
  marked as recently shipped; only #37 and #78 remain in progress.

Historical docs marked with status notes (not rewritten, just flagged
as pre-release context): ARCHITECTURE.md, PROPOSAL.md, PHASE-1.md,
V1_SCOPE.md, MVP_DEMO_PLAN.md, PR_CLEANUP_HANDOFF.md,
POST_MERGE_VALIDATION.md, REMAINING_PRS_PLAN.md, PR85_ROLLBACK_PLAN.md.
Each now points readers to docs/MVP_RELEASE_STATUS.md.

New:
- docs/REPO_DOCS_AUDIT.md records the audit date, files reviewed,
  files changed, outdated claims found and fixed, historical docs
  left intentionally unchanged, remaining risks, and the validation
  results.

Validates: pnpm test (12/12), pnpm lint (0 errors), pnpm build (6/6,
fresh --force: emits /, /_not-found, /feedback, /results).

* docs: fix remaining Node version reference

docs/MVP_DEMO_PLAN.md still said 'Node 22+' in the prereqs section,
which conflicts with the actual repo metadata (Node >= 20.0.0 in
package.json) and with the authoritative setup guide in
docs/LOCAL_DEMO.md. Replace the prereqs with a short pointer to
LOCAL_DEMO.md plus a one-line accurate summary, so this historical
demo-readiness doc no longer contradicts current setup instructions.

docs/REPO_DOCS_AUDIT.md: remove the corresponding entry from the
'remaining documentation risks' list, fix the resulting item
numbering, and add a note recording that the Node-version item was
resolved before merge.

No code, evaluator, or rule changes. No new features. PR #37 and
PR #78 untouched.

Validates: pnpm test 12/12, pnpm lint 0 errors, pnpm build 6/6
(fresh --force, emits /, /_not-found, /feedback, /results).

* docs: address remaining CodeRabbit comments on PR #88

Two unresolved CodeRabbit comments fixed in this commit:

1. README.md — replace hard-coded '5 issues' in the evaluator diagram
   with the non-fixed wording 'Issues'. evaluate() returns a
   variable-length issues array; a fixed count would drift as scoring
   changes. The other diagram labels (Score, Strengths, ATS verdict,
   Archetype) are kept as-is because they describe deterministic
   outputs that do not vary in count.

2. packages/intelligence/README.md — the previous audit pass claimed
   this package ships eight roles and falls back to Backend Engineer.
   But packages/intelligence/src/archetypes/index.ts registers only
   three archetypes (Software Engineer, Product Manager, Data & ML
   Engineer) and DEFAULT_ARCHETYPE is softwareEngineer. Update the
   README to reflect the actual registry. Add a note clarifying that
   @cv-builder/core has a separate, broader legacy/runtime registry
   (7 roles) used by the CLI and Web UI, and that unifying the two
   registries is a follow-up — see docs/ARCHETYPE_GAP_AUDIT.md.

docs/REPO_DOCS_AUDIT.md updated to record that the
packages/intelligence/README.md archetype-inventory row was
corrected in two steps (the audit pass incorrectly bumped the
package claim to 8; this commit brings it back to 3 and adds the
@cv-builder/core note).

No code changes. No new features. PR #37 and PR #78 untouched.
Docs only.

Validates: pnpm test 12/12, pnpm lint 0 errors, pnpm build 6/6.

---------

Co-authored-by: Cleanup Bot <cleanup-bot@example.com>
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.

5 participants