Skip to content

Pool anon scorer bullets from accomplishment sections (retire rawText walk + buildSkillsExclusion) #133

Description

@s-annam

Follow-up from the #127 segmentation spike (docs/segmentation-spike.md), under epic #109. PR 2 — depends on the SectionedResume proof PR (Follow-up A).

Goal

Source the anonymous scorer's experience-bullet pool from the accomplishment sections (experience + projects + achievements) via SectionedResume, instead of walking all of rawText and subtracting skills.

Why

extractBulletsFromText (score.ts:612) walks the whole document and treats every marker-led line as an experience bullet, then subtracts skills via the (now-retired) side-channel. That "pool everything, subtract" shape is the structural reason #30 needed a side-channel at all (spike §1.6). Pooling directly from the accomplishment sections is what the authed scorer already does per-role (score.ts:284-:289); this aligns the two surfaces and removes the last raw-text re-derivation.

Scope

  • extractBulletsFromText (or its replacement) iterates input.sections.accomplishmentSections lines rather than rawText.
  • Retire buildSkillsExclusion (score.ts:583) and the excludeStripped param — skills lines are simply never in the pool.
  • Also retire the scorer's || bullets.length > 0 experience-completeness fallback (score.ts:698) in favor of "is there a non-empty experience section?" (spike §1.5).
  • Keep the LONE_BULLET_RE Word-table merge (score.ts:564) but run it within the experience section.

Acceptance

  • This is a deliberate scoring change. Bump ATS_SCORE_ALGO_VERSION (score.ts:54) with a changelog entry.
  • Corpus goldens regenerated AND spot-audited fixture-by-fixture (don't blind-regen — corpus-snapshot lesson). Document which fixtures moved and why.
  • typecheck + corpus suite green.

Refs #127, #109.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

improvementEnhancing existing functionality

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions