Parser: achievement year lost on re-import when '· YYYY' wrapped to its own line
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Stale
- Tech stack
- typescript
- Domain
- data
Research direction
Start by checking open pull request #1195, since this issue already has one and the fix may be in progress. Reproduce by exporting a PDF with a long achievement header whose · YYYY wraps to its own line, re-importing it, and inspecting headerLine in the rebuilt model. Done means the wrapped year is reattached to its header and an export, import, export round-trip test covers it.
Written by the indexing model from the issue text.
Description
Problem
When a re-imported offlinecv export has an achievement header whose trailing year wrapped onto its own line, the parser drops the year. The rebuilt model's headerLine ends without · YYYY, and the next export silently loses the date.
Repro (synthetic)
- Make an achievement whose header is long enough that
· 2019wraps, e.g.Patent · Issued Patent US1234567B1 a very long descriptive title for a widget-processing system used across catalogs. · 2019 - Export the PDF. The year renders alone on the next line.
- Re-import that PDF and export again. The
Patentheader has no year now. Shorter siblings (Publication · … · 2009) keep theirs.
Observed in the model after re-import:
"headerLine": "<B>Patent</B> · Issued Patent … catalogs." ← year gone
"headerLine": "<B>Publication</B> · Co-authored … · 2009" ← fine
Expected
A bare YYYY (or a · YYYY fragment) on the line right after an achievement header gets reattached to that header as its year, the same way a single-line header keeps it.
Acceptance criteria
- Re-importing an export whose achievement year wrapped keeps the year in
headerLine - Export → import → export round-trip test covering a wrapped achievement year
- Dominant language
- TypeScript
- Stars
- 11
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from offlinecv/OfflineCV
-
fix(heuristics): unit number before a Saint-named city drops "St." from the locationPossibly taken @gaal-agent claimed this 9 days ago. Openbug gaal ux:parsing
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
-
Migrate Gaal implement/review/revise to the local gaal watch; keep mechanical workflows on ActionsOpenarchitecture chore github_actions needs-human ready-for-agent
Difficulty 5/5 Over a week Newbie friendliness 8/100
-
Export: auto-bolded metric bullets extract one word per line in stream-order parsers (pypdf/Drive)Possibly taken @gaal-agent claimed this 4 days ago. Openbatch:export-standards bug gaal ready-for-agent ux:edit-export
Difficulty 3/5 1-2 days Newbie friendliness 25/100
-
bug duplicate improvement
Difficulty 3/5 Half a day Newbie friendliness 66/100
-
Return legs from /download/ to /: Fix now lands on the missing field, and a bfcache miss keeps the résuméPossibly taken @s-annam claimed this 10 days ago. Openimprovement ready-for-agent ux:flow
All issues in offlinecv/OfflineCV
Similar issues
-
area:security documentation effort:S priority:P2
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
app:web meta:ops
Difficulty 2/5 Half a day Newbie friendliness 78/100
osu-tournament-rating/otr#1113 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
typegoose/mongodb-memory-server#1040 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 92/100