Problem
The round-trip harness reports a pass when it has nothing to check. Its configuration-mismatch comparison returns "no mismatch" when a spec carries no recorded conventions or settings at all, which is indistinguishable in the output from a spec whose conventions matched.
A spec authored by hand, or one written by a catalogue run that records its facts once in a separate file, has no per-spec conventions block. Round-tripping it therefore reads as a clean pass while the check that would have caught a convention drift never ran.
Potential solution(s)
- Distinguish "nothing to compare" from "compared and matched", and report the first as a skip rather than a pass
- Name which specs were skipped and why, so a run of all skips cannot read as a run of all passes
- Where the run's facts live in a sibling metadata file, load them before comparing rather than treating their absence as agreement
Acceptance criteria
Case data
- Workspace: specs-testing
- Territory: testing
- Size: s
Notes
This survives #669, which fixes the product's fallback for a spec carrying no metadata. The harness would still report a vacuous pass for any spec that legitimately carries none.
Related observation worth folding in: a spec copied away from the sibling file holding its run facts loses the naming convention a render needs, and render then fails to resolve instance elements for a reason unconnected to whatever is being tested. A harness that loads the sibling facts would not produce that false signal.
Implementation details are tracked internally.
Problem
The round-trip harness reports a pass when it has nothing to check. Its configuration-mismatch comparison returns "no mismatch" when a spec carries no recorded conventions or settings at all, which is indistinguishable in the output from a spec whose conventions matched.
A spec authored by hand, or one written by a catalogue run that records its facts once in a separate file, has no per-spec conventions block. Round-tripping it therefore reads as a clean pass while the check that would have caught a convention drift never ran.
Potential solution(s)
Acceptance criteria
Case data
Notes
This survives #669, which fixes the product's fallback for a spec carrying no metadata. The harness would still report a vacuous pass for any spec that legitimately carries none.
Related observation worth folding in: a spec copied away from the sibling file holding its run facts loses the naming convention a render needs, and render then fails to resolve instance elements for a reason unconnected to whatever is being tested. A harness that loads the sibling facts would not produce that false signal.