Apologies for formatting of the following; I'm reading this using Gmail on an Android tablet with a virtual keyboard.
I've read much but not necessarily all of the thread, so the following might have been mentioned and dismissed already. My apologies if this is the case. Reading the thread, it seems to me that people use or can use unstable (sid), testing (currently to-become trixie / 13), and stable (currently 12) for several different purposes, some of which contradict. People using one of the suites want a value for os-release that matches the purpose they have for using that suite. People using unstable as a distribution in its own right, irregardless of the fact that it is the entry point for packages to enter testing (which will-become currently trixie / 13), want a value for os-release to indicate that (presumably unstable or sid). People using unstable as an entry point for packages to enter testing (which will-become currently trixie / 13) en route to entering the next stable release want a value for os-release to indicate what testing will-become (e.g. currently trixie). People using testing as an entry point for packages to enter the next stable release (currently trixie / 13) want a value for os-release to indicate the next stable release (currently trixie). There may be people using testing as a distribution in its own right, irregardless to what it will-become, similarly to how some people use unstable; presumably such people would want a value for os-release to indicate that (e.g. testing). People using the-current stable as a distribution that will never change without explicit action on their part, e.g. it will always stay that distribution until and unless they actively change it, want a value for os-release matching the distribution they are using, e.g. they want it to currently be the code name for 12, and if and when they change it they want it to become trixie. People using the-current stable as a distribution that may (will) change without action on their part, e.g. when the value of stable changes their system will auto-magically change without them having to do anything (note, this choice is discouraged by the Debian Project), may want a value for os-release to indicate that (e.g. stable, as opposed to a specific distribution name like trixie). It occurs to me, perhaps naively or incorrectly, that this is the sort of thing that virtual packages, and Provides / Conflicts declarations, address. People could pick a package for their system that provides the meaning of os-release matching the distribution they are using and the purpose they are using that distribution for. I recognize that, even if this idea is deemed a good and desirable one, it may not be possible to implement it immediately but may require a release cycle or two to fully implement. Hope this is of some use, interest. Thanks for your time. Be well. Joseph