You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: stop model-extracting the conference object entirely (0.9.4)
0.9.3 dropped conference date fields; this drops the rest (conferenceName,
conferenceLocation, conferenceUri, conferenceAcronym) so poster2json never
emits a conference object. Conference info comes from the repository or
platform, not the poster. Prompt no longer requests it; the placeholder and
grounding postprocess logic is removed and any conference the model emits is
stripped.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.9.4] - 2026-06-08
9
+
10
+
### Changed
11
+
12
+
-**The `conference` object is no longer model-extracted.** 0.9.3 dropped the conference date fields; this release drops the rest (`conferenceName`, `conferenceLocation`, `conferenceUri`, `conferenceAcronym`) so poster2json never emits a `conference` object at all. Conference information is supplied by the repository or entered on the platform, not guessed from the poster. The prompt no longer requests it, the placeholder/grounding postprocess logic is removed, and any `conference` the model emits is stripped.
1. Extract ALL required fields: creators, titles, publicationYear, subjects, descriptions
1421
1421
2. Create SEPARATE sections for EACH distinct topic/header found in the poster
1422
1422
3. Use the poster's OWN section headers exactly as they appear. Lines prefixed with "## " indicate detected headers from the poster layout. Standard headers (Abstract, Introduction, Methods, Results, Discussion, Conclusions, References, Acknowledgements) are common examples, but always prefer the poster's actual headers over generic ones.
1423
1423
4. Each section must have its OWN "sectionTitle" and "sectionContent"
- publicationYear: Extract if a year is printed on the poster. If not found, set to null.
1453
1452
- subjects: Extract 3-5 keywords from poster content
1454
1453
- descriptions: Write a 3-4 sentence summary of the full poster.
1455
-
- titles: If the poster title is ALL CAPS, convert to proper Title Case preserving acronyms (e.g. "RESEARCH ON SARS-CoV-2" not "RESEARCH ON SARS-COV-2")
1456
-
- conference: Extract from text visible on the poster (header, footer, logos). If not found, set to null.
1457
-
- imageCaptions/tableCaptions: Include captions for figures/tables on the poster. If none exist, use [].
1454
+
- titles: If the poster title is ALL CAPS, convert to proper Title Case preserving acronyms (e.g. "RESEARCH ON SARS-CoV-2" not "RESEARCH ON SARS-COV-2")- imageCaptions/tableCaptions: Include captions for figures/tables on the poster. If none exist, use [].
1458
1455
- researchField: MUST be exactly one of: "Health Sciences" | "Life Sciences" | "Physical Sciences" | "Social Sciences" — or null if unclear.
1459
-
- GROUNDING: For metadata fields (conference, publicationYear), only extract values that appear as text on the poster. If not found, use null. For section content, copy ALL text verbatim — do not skip or shorten.
1456
+
- GROUNDING: For metadata fields (publicationYear), only extract values that appear as text on the poster. If not found, use null. For section content, copy ALL text verbatim — do not skip or shorten.
1460
1457
1461
1458
POSTER TEXT TO CONVERT:
1462
1459
{raw_text}
1463
1460
1464
1461
OUTPUT VALID JSON ONLY:"""
1465
1462
1466
1463
FALLBACK_PROMPT="""Convert poster text to JSON. REQUIRED FIELDS:
0 commit comments