Why this matters for Tech Immigrants
The community MVP today ships an ai-product-manager archetype in
packages/core/src/archetypes/index.ts, but no plain
product-manager. The Tech Immigrants audience has many members
who are non-AI product managers (fintech, edtech, marketplaces,
travel, gaming, B2B SaaS). For those members, the live detector
falls back to backend-engineer (the DEFAULT_ARCHETYPE in
core), which produces a misleading scorecard ("Detected archetype:
Backend Engineer" on what is actually a PM resume).
This was flagged as the highest-priority gap in
docs/ARCHETYPE_GAP_AUDIT.md.
Expected behaviour
After this issue is closed:
- A user whose CV uses non-AI product language (
roadmap, OKRs,
discovery, user research, A/B test, Jira, stakeholders)
gets correctly classified as product-manager in the CLI
evaluate output and in the Web UI results page.
- The existing
ai-product-manager archetype continues to win
when AI keywords (llm, gpt, rag, embeddings) are
present.
- No regression in golden fixtures or in the existing 7 archetypes.
Implementation guidance
File to change
packages/core/src/archetypes/index.ts — add a new entry matching
the existing shape (no version field; matches
RoleArchetype in packages/core/src/types.ts).
Expected keywords (15+)
Discovery, user research, A/B testing, experiment, roadmap,
prioritization, OKRs, KPIs, retention, activation, funnel, churn,
stakeholder, agile, sprint, Jira, Linear, Amplitude, Mixpanel,
go-to-market, pricing, north-star metric.
Expected action verbs
Launched, Owned, Drove, Grew, Defined, Prioritized, Increased,
Reduced, Shipped, Aligned.
Expected anti-patterns
passionate about products, leveraged synergies, wore many hats, helped with, responsible for the product, various product initiatives.
Suggested weights
A starting point — tune against the eval harness.
evaluationWeights: {
shippedEvidence: 0.25,
quantifiedImpact: 0.25,
toolingVisibility: 0.1,
atsCompatibility: 0.15,
keywordMatch: 0.15,
publicProof: 0.1,
}
Detect tie-breaker
In core.detectArchetype, prefer the new product-manager over
ai-product-manager when AI keywords are not matched. Simplest
implementation: if the keyword score for AI-PM is 1 or 0, fall
through to PM. Until then, AI-PM will still win on shared keywords
(roadmap, OKRs), which is fine — what matters is that a
plain-PM CV doesn't get bucketed as backend-engineer.
Acceptance criteria
Tests needed
- One unit test for
core.detectArchetype:
- Plain-PM CV resolves to
product-manager.
- AI-PM CV resolves to
ai-product-manager.
- CV with both signals resolves to
ai-product-manager (AI is the
more specific signal).
- One optional integration test through
packages/core/src/evaluator/index.ts to confirm the
EvaluationResult.archetype.name is Product Manager.
Docs / update needed
README.md — add Product Manager to the Supported Role
Archetypes list (it will be the 8th entry).
- Bump the roadmap
[x] 7 role archetypes to [x] 8 role archetypes.
- Mention the new fallback tie-breaker in
docs/ARCHITECTURE.md
Step 3 (classify).
Related issues / docs
Why this matters for Tech Immigrants
The community MVP today ships an
ai-product-managerarchetype inpackages/core/src/archetypes/index.ts, but no plainproduct-manager. The Tech Immigrants audience has many memberswho are non-AI product managers (fintech, edtech, marketplaces,
travel, gaming, B2B SaaS). For those members, the live detector
falls back to
backend-engineer(theDEFAULT_ARCHETYPEincore), which produces a misleading scorecard ("Detected archetype:
Backend Engineer" on what is actually a PM resume).
This was flagged as the highest-priority gap in
docs/ARCHETYPE_GAP_AUDIT.md.Expected behaviour
After this issue is closed:
roadmap,OKRs,discovery,user research,A/B test,Jira,stakeholders)gets correctly classified as
product-managerin the CLIevaluateoutput and in the Web UI results page.ai-product-managerarchetype continues to winwhen AI keywords (
llm,gpt,rag,embeddings) arepresent.
Implementation guidance
File to change
packages/core/src/archetypes/index.ts— add a new entry matchingthe existing shape (no
versionfield; matchesRoleArchetypeinpackages/core/src/types.ts).Expected keywords (15+)
Discovery, user research, A/B testing, experiment, roadmap,
prioritization, OKRs, KPIs, retention, activation, funnel, churn,
stakeholder, agile, sprint, Jira, Linear, Amplitude, Mixpanel,
go-to-market, pricing, north-star metric.
Expected action verbs
Launched, Owned, Drove, Grew, Defined, Prioritized, Increased,
Reduced, Shipped, Aligned.
Expected anti-patterns
passionate about products,leveraged synergies,wore many hats,helped with,responsible for the product,various product initiatives.Suggested weights
A starting point — tune against the eval harness.
Detect tie-breaker
In
core.detectArchetype, prefer the newproduct-manageroverai-product-managerwhen AI keywords are not matched. Simplestimplementation: if the keyword score for AI-PM is 1 or 0, fall
through to PM. Until then, AI-PM will still win on shared keywords
(
roadmap,OKRs), which is fine — what matters is that aplain-PM CV doesn't get bucketed as
backend-engineer.Acceptance criteria
pnpm --filter @cv-builder/cli start archetypeslistsProduct Manager(in addition to the existing 7).pnpm --filter @cv-builder/cli start evaluate ./example-pm-cv.mdprints
Archetype detected: Product Managerfor a realisticnon-AI PM resume.
AI Product Manager.pnpm test,pnpm lint,pnpm buildall pass.packages/eval/fixtures/{swe,pm,data-ml}-strongcases (thesetarget
intelligence, notcore, so they should passunchanged; verify anyway).
Tests needed
core.detectArchetype:product-manager.ai-product-manager.ai-product-manager(AI is themore specific signal).
packages/core/src/evaluator/index.tsto confirm theEvaluationResult.archetype.nameisProduct Manager.Docs / update needed
README.md— addProduct Managerto the Supported RoleArchetypes list (it will be the 8th entry).
[x] 7 role archetypesto[x] 8 role archetypes.docs/ARCHITECTURE.mdStep 3 (
classify).Related issues / docs
docs/ARCHETYPE_GAP_AUDIT.md.archetype to the same registry) — same file, new entry.
follow-up).