* Each config version provides its default INI text by defining a
* file-scope static of type Register, e.g.:
* @code
- * static BeesConfig::Register s_reg_config_v1("1", bees_config_v1_text);
+ * static BeesConfig::Register s_reg_config_v2("2", "v0.11", bees_config_v2_text);
* @endcode
* The constructor runs at static-initialization time (before main()),
* parses @p text into an Innie, and inserts it into the process-global
- * @c s_defaults map under the key @p version.
+ * @c s_defaults map under the key @p version, recording the inheritance
+ * edge in @c s_previous.
*
- * If two Register instances claim the same @p version string, the second
- * registration is silently ignored: @c map::insert() is a no-op when the
- * key already exists, and no error or warning is produced.
+ * Declaring the edge here rather than deriving it from the version names
+ * keeps the version graph out of the naming convention: adding a schema
+ * is a one-file change that cannot forget to say where the schema came
+ * from, and version names are not required to sort, or to be numbers.
*/
struct Register {
/**