v2 chunk 4: revert validator carve-out + expand publisher exceptions
Two follow-ups based on the chunk 3 verification re-run findings. src/cmos/runtime_validator.py — revert chunk 3 fix #3 (carve-out) Chunk 3 fix #3 added a carve-out so shortened-form notes ("Rosen, 7.", "Ettarh.") would pass the validator without italics, saving retry cost. Chunk 3 verification on the Anti-Communist draft showed the carve-out also let GPT-5's variance produce under-italicized variants of shortened forms WITH short titles (e.g., "A Restudy, 73." instead of the more CMOS-correct "*A Restudy*, 73."). The user explicitly chose accuracy over the cost saving and asked for the carve-out to be reverted. The strict italics check now applies uniformly. Simple shortened forms (Mitchell, 197., Ettarh.) get retried unnecessarily and waste API cost without producing better output. Shortened forms with short titles get a fair shot at the italicized version on the retry. Cost ↑, accuracy ↑. Removes _SHORTENED_FORM_RE, _looks_like_shortened_form, and the carve-out check from validate(). Updates module docstring with history note. Inverts the 2 carve-out tests in test_runtime_validator.py to assert shortened forms now FAIL the strict check, documenting the design intent for future reviewers. src/cmos/note_formatter.py — expand rule 18 publisher exception list Chunk 3 verification showed [6] Batterson getting "NYU Press" expanded to "New York University Press", losing the publisher's canonical brand. Rule 18's exception list previously only named MIT Press, ALA Editions, and MLA. Expanded to include NYU Press, Routledge, IEEE Press, ACM Press, WHO Press, plus "Pew Research Center" as a non-Press canonical example. Also added a "when in doubt" guidance paragraph: if the abbreviation contains "Press" and is widely used as the publisher's own branding, leave it alone. The risk of losing a brand name (NYU Press) is worse than the risk of leaving an obscure abbreviation. v2 only. Tests: 151/151 green (was 150). The +1 is the new NYU Press prompt-content test; the 2 inverted runtime_validator tests stayed at the same count. Path B: runtime_validator change crosses the v1/v2 boundary (shared infrastructure), per the same approval that authorized the original chunk 3 fix #3. v1's bibliography formatter is unaffected in practice because v1 outputs always have italics.
This commit is contained in:
@@ -112,6 +112,17 @@ def test_system_prompt_mentions_month_or_season_preservation():
|
||||
assert "preserve" in lower
|
||||
|
||||
|
||||
def test_system_prompt_publisher_exception_list_includes_nyu_press():
|
||||
"""Chunk 4 task 2: rule 18's publisher exception list should include
|
||||
NYU Press alongside the existing MIT Press / ALA Editions / MLA.
|
||||
Surfaced by [6] Batterson in the chunk 3 verification re-run, where
|
||||
"NYU Press" got expanded to "New York University Press" — losing
|
||||
the publisher's canonical brand name. NYU Press's official self-
|
||||
presentation IS "NYU Press", not the long form.
|
||||
"""
|
||||
assert "NYU Press" in SYSTEM_PROMPT_NOTES
|
||||
|
||||
|
||||
def test_system_prompt_mentions_government_reports_rule():
|
||||
"""Polish fix #7: v2 should explicitly handle government documents
|
||||
and institutional reports the same way v1's rule 27 does — italicize
|
||||
|
||||
Reference in New Issue
Block a user