feat(core,intelligence): add Mobile Engineer archetype - #97
Conversation
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
📝 WalkthroughWalkthroughA 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. ChangesMobile Engineer Archetype
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (8)
README.mddocs/ARCHETYPE_GAP_AUDIT.mdpackages/core/src/__tests__/archetypes.test.tspackages/core/src/archetypes/index.tspackages/intelligence/src/__tests__/intelligence.test.tspackages/intelligence/src/archetypes/index.tspackages/intelligence/src/archetypes/mobile-engineer.tsresearch/sources.md
- 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
There was a problem hiding this comment.
♻️ Duplicate comments (1)
packages/core/src/archetypes/index.ts (1)
542-551:⚠️ Potential issue | 🟠 MajorThe action-verb inventory still falls short of the mobile-specific requirement.
Both registries retain generic entries such as
Optimized,Reduced,Refactored,Integrated,Automated, andDebugged; 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 winAdd 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
📒 Files selected for processing (5)
packages/core/src/__tests__/archetypes.test.tspackages/core/src/archetypes/index.tspackages/intelligence/src/__tests__/intelligence.test.tspackages/intelligence/src/archetypes/mobile-engineer.tsresearch/sources.md
🚧 Files skipped from review as they are similar to previous changes (1)
- research/sources.md
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