Ask Good Questions: The Past Is Part of the Specification

This week’s Ask Good Questions pair looks at something every programmer maintaining a real product eventually has to deal with: the software’s own history.

The Past Is Part of the Specification

A current build can create new data correctly, pass all its focused tests, and still fail the product if it can’t safely open the databases, documents, settings, and backups created by earlier versions.

The accompanying field note, The Build That Worked Until I Opened Yesterday’s Database, comes from a recent ProHelp Viewer build that appeared ready until I opened another valid schema-4 authoring database.

The new code expected a multilingual support table that didn’t exist when the older database was created. Save As reproduced the same failure because it faithfully copied the older structure.

The eventual repair was narrow and repeatable: inspect the actual database, add only the missing structures, and preserve everything already there.

Guide:
https://askgoodquestions.dev/guides/the-past-is-part-of-the-specification

Field note:
https://askgoodquestions.dev/field-notes/the-build-that-worked-until-i-opened-yesterdays-database