@@ -3,26 +3,18 @@ type: pitfall
33title : " A `.desc` entry's `Begin` wording can silently stop matching between versions of the same code"
44area : codereg
55section : " Pitfalls found more than once (check for siblings)"
6- paths : [".desc", "Gaussian-16.expt ", "gaussian-03.desc", "gaussian-09.desc ", "gaussian-16.desc "]
6+ paths : ["scripts/parsers/gaussian-16 .desc", "scripts/parsers/gaussian-09.desc ", "scripts/parsers/ gaussian-03.desc", "scripts/parsers/Gaussian-16.expt ", "scripts/eccejobmonitor "]
77issues : [80]
88---
99** A ` .desc ` entry's ` Begin ` wording can silently stop matching between
10- versions of the same code** , not just between different codes.
11- ` gaussian-16.desc ` 's ` MULLIKEN ` entry had `Begin= Mulliken atomic
12- charges\: ` , copied from ` gaussian-09.desc` / ` gaussian-03.desc` — but
13- Gaussian 16 actually prints "Mulliken charges:" (no "atomic").
14- ` Gaussian-16.expt ` (the full-output post-hoc parser) has no Mulliken
15- handling of its own, so this property is * only* ever captured live
16- via ` eccejobmonitor ` — the mismatched ` Begin ` regex meant it was
17- silently never extracted, for every G16 job, ever (#80 ). Same
18- no-error/job-completes-normally shape as the other ` .desc ` bugs
19- here. Fixed with an alternation (` Mulliken (atomic )?charges\: ` )
20- rather than assuming the new wording fully replaced the old one.
21- ** Caveat that applies to any fix in this family** : because there's
22- no reparse-from-saved-output path for a live-monitor-only property,
23- fixing the regex does * not* retroactively recover data for
24- already-completed jobs parsed under the old pattern — only a fresh
25- run monitored under the fixed ` .desc ` will have the property. If a
26- "we fixed the parser but the old job still shows nothing" report
27- comes in, check whether the job actually predates the fix before
28- assuming it didn't work.
10+ versions of the same code** , not just between codes. Gaussian 16 prints
11+ "Mulliken charges:" where 03/09 printed "Mulliken atomic charges:", and
12+ the G16 ` MULLIKEN ` entry copied from them never matched. ` Gaussian-16.expt `
13+ has no Mulliken handling, so the property is captured only live by
14+ ` eccejobmonitor ` , and it was simply absent for every G16 job. Match both
15+ wordings (` Mulliken (atomic )?charges ` ) rather than assuming the new one
16+ replaced the old.
17+
18+ A live-monitor-only property has no reparse from saved output: a ` .desc `
19+ fix does not recover it for jobs that ran before the fix, only for new
20+ runs. Check a job's date before concluding a fix did not work.
0 commit comments