Skip to content

feat(core,intelligence): add Mobile Engineer archetype - #97

Open
Kaaveh wants to merge 2 commits into
TechImmigrants:mainfrom
Kaaveh:main
Open

feat(core,intelligence): add Mobile Engineer archetype#97
Kaaveh wants to merge 2 commits into
TechImmigrants:mainfrom
Kaaveh:main

Conversation

@Kaaveh

@Kaaveh Kaaveh commented Jul 30, 2026

Copy link
Copy Markdown

Adds a Mobile Engineer role archetype (iOS/Android, native and cross-platform) with 28 keywords, evaluation weights, 12 action verbs, and 6 anti-patterns, sourced from real job postings and resume-review guides (cited in research/sources.md).

Closes issue #1. Registered in both archetype registries (core and intelligence) to avoid widening the gap documented in docs/ARCHETYPE_GAP_AUDIT.md, with matching content and tests in each.

Claude-Session: https://claude.ai/code/session_0171nbXwVrmCpKKFqCKa5N5o

What does this PR do?

Brief description of the change.

Related issue

Closes #1

Summary by CodeRabbit

  • New Features
    • Added the Mobile Engineer role archetype (iOS/Android and related mobile technologies).
    • Mobile resumes can now be identified and evaluated with mobile-specific criteria.
    • Increased built-in role archetypes from 7 to 8.
  • Improvements / Bug Fixes
    • Refined archetype keyword matching to reduce false positives from partial word matches.
  • Tests
    • Expanded coverage to confirm reliable Mobile Engineer detection from common mobile signals.
  • Documentation
    • Updated README, archetype gap audit, and research sources to reflect the new archetype and refreshed references.

Adds a Mobile Engineer role archetype (iOS/Android, native and
cross-platform) with 28 keywords, evaluation weights, 12 action verbs,
and 6 anti-patterns, sourced from real job postings and resume-review
guides (cited in research/sources.md).

Closes issue #1. Registered in both archetype registries (core and
intelligence) to avoid widening the gap documented in
docs/ARCHETYPE_GAP_AUDIT.md, with matching content and tests in each.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0171nbXwVrmCpKKFqCKa5N5o
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

A new Mobile Engineer archetype was added to the core and intelligence registries with mobile-specific metadata. Detection now uses boundary-aware keyword matching, with tests covering platform-only signals and substring rejection. README, audit, and research documentation reflect the eighth archetype.

Changes

Mobile Engineer Archetype

Layer / File(s) Summary
Archetype definition
packages/core/src/archetypes/index.ts, packages/intelligence/src/archetypes/mobile-engineer.ts
Defines Mobile Engineer keywords, evaluation weights, action verbs, anti-patterns, and version metadata.
Registry, detection, and validation
packages/core/src/archetypes/index.ts, packages/intelligence/src/archetypes/index.ts, packages/*/src/__tests__/*
Registers and re-exports the archetype, applies boundary-aware keyword matching, and tests representative, platform-only, and non-substring detection.
Documentation and research updates
README.md, docs/ARCHETYPE_GAP_AUDIT.md, research/sources.md
Updates supported-archetype counts, audit status, source citations, and update dates.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding a Mobile Engineer archetype.
Linked Issues check ✅ Passed The PR adds the Mobile Engineer archetype with keywords, weights, verbs, anti-patterns, research sources, and tests as requested.
Out of Scope Changes check ✅ Passed The README and docs updates support the new archetype and do not appear unrelated to the requested scope.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/core/src/archetypes/index.ts`:
- Around line 499-508: Add standalone "ios" and "android" keywords to the mobile
keyword registries in packages/core/src/archetypes/index.ts (lines 499-508) and
packages/intelligence/src/archetypes/mobile-engineer.ts (lines 7-17), keeping
both lists aligned. Add core detection tests covering platform-only resumes
labeled with iOS or Android.
- Around line 500-501: Update the core archetype detection logic that uses
text.includes to match swift only as a whole word, consistent with the
intelligence registry behavior, so terms like “swiftly” do not trigger it. Add a
negative regression test covering substring matches while preserving detection
of standalone “swift”.
- Around line 537-550: Replace or supplement the generic action verbs in the
core registry’s actionVerbs list and the mobile-engineer registry’s
corresponding list with mobile-development-specific verbs, keeping both
registries aligned. Update the related tests to assert the presence of
mobile-specific verbs rather than only verifying the list count; apply changes
at packages/core/src/archetypes/index.ts:537-550 and
packages/intelligence/src/archetypes/mobile-engineer.ts:45-58.

In `@research/sources.md`:
- Around line 30-34: Update the document’s “Last updated” metadata to July 30,
2026, and add a specific page or section anchor to each newly added source
citation row, preserving the existing URL and access date information. Review
all Markdown source entries for clear, auditable citation details and ensure
every claim has a traceable reference.
- Around line 30-34: Update the mobile-engineering entries in the research table
to cite dated, representative company iOS, Android, or mobile job postings
instead of generic hiring and resume-advice pages, especially replacing the
KORE1, TechieCV, and Enhancv sources. Tie each metadata claim directly to the
specific requirement stated in its cited posting, while preserving the table’s
existing format and scope.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e8294d0f-76cc-4680-9875-767cb110a312

📥 Commits

Reviewing files that changed from the base of the PR and between 2da00d6 and 64642d8.

📒 Files selected for processing (8)
  • README.md
  • docs/ARCHETYPE_GAP_AUDIT.md
  • packages/core/src/__tests__/archetypes.test.ts
  • packages/core/src/archetypes/index.ts
  • packages/intelligence/src/__tests__/intelligence.test.ts
  • packages/intelligence/src/archetypes/index.ts
  • packages/intelligence/src/archetypes/mobile-engineer.ts
  • research/sources.md

Comment thread packages/core/src/archetypes/index.ts
Comment thread packages/core/src/archetypes/index.ts
Comment thread packages/core/src/archetypes/index.ts
Comment thread research/sources.md Outdated
- Add standalone "ios"/"android" keywords to both registries so
  platform-only resumes are still detected
- Make core detectArchetype use whole-word matching (like the
  intelligence package already does) so "swift" no longer matches
  "swiftly"; add regression tests for both fixes
- Replace generic action verbs with mobile-specific ones
  (Instrumented, Profiled) in place of the most generic entries
- Replace generic hiring-guide/resume-advice sources with dated,
  verified company job postings (Bumble, Airalo, Hinge/Match Group,
  HighLevel, Whoop) and add section references for traceability
- Update sources.md "Last updated" to July 30, 2026

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps8ZX5EzuCTehQX7etAEPb

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
packages/core/src/archetypes/index.ts (1)

542-551: ⚠️ Potential issue | 🟠 Major

The action-verb inventory still falls short of the mobile-specific requirement.

Both registries retain generic entries such as Optimized, Reduced, Refactored, Integrated, Automated, and Debugged; replace enough of these with mobile-specific actions and keep both lists aligned. The related tests should assert representative verb content, not only the count.

  • packages/core/src/archetypes/index.ts#L542-L551: replace the remaining generic verbs in the core registry.
  • packages/intelligence/src/archetypes/mobile-engineer.ts#L47-L60: apply the same mobile-specific verb inventory.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/core/src/archetypes/index.ts` around lines 542 - 551, Replace the
remaining generic action verbs in the core registry’s verb inventory with
mobile-specific actions, then apply the identical inventory to the
mobile-engineer registry in
packages/intelligence/src/archetypes/mobile-engineer.ts (lines 47-60); update
related tests to assert representative verb values in addition to the list
count.
🧹 Nitpick comments (1)
packages/intelligence/src/__tests__/intelligence.test.ts (1)

47-54: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add substring-rejection coverage to the intelligence detector.

This suite tests platform positives but not "Swiftly"-style false positives. Add the same negative regression used by the core suite so both detection paths preserve whole-word semantics.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/intelligence/src/__tests__/intelligence.test.ts` around lines 47 -
54, Add a negative regression case to the platform-only tests around
detectArchetype, using a “Swiftly”-style term that contains the platform keyword
as a substring and asserting it does not produce the mobile-engineer archetype.
Match the existing core-suite assertion and keep the current iOS and Android
positive cases unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In `@packages/core/src/archetypes/index.ts`:
- Around line 542-551: Replace the remaining generic action verbs in the core
registry’s verb inventory with mobile-specific actions, then apply the identical
inventory to the mobile-engineer registry in
packages/intelligence/src/archetypes/mobile-engineer.ts (lines 47-60); update
related tests to assert representative verb values in addition to the list
count.

---

Nitpick comments:
In `@packages/intelligence/src/__tests__/intelligence.test.ts`:
- Around line 47-54: Add a negative regression case to the platform-only tests
around detectArchetype, using a “Swiftly”-style term that contains the platform
keyword as a substring and asserting it does not produce the mobile-engineer
archetype. Match the existing core-suite assertion and keep the current iOS and
Android positive cases unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 5768c47b-e7c0-4f19-9942-6b525da78074

📥 Commits

Reviewing files that changed from the base of the PR and between 64642d8 and be498c1.

📒 Files selected for processing (5)
  • packages/core/src/__tests__/archetypes.test.ts
  • packages/core/src/archetypes/index.ts
  • packages/intelligence/src/__tests__/intelligence.test.ts
  • packages/intelligence/src/archetypes/mobile-engineer.ts
  • research/sources.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • research/sources.md

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.

[Archetype] Mobile Engineer (iOS/Android)

2 participants