This is standard practice: in between stable releases,
base-files is updated to list the next release's codename and Sid instead of a version number, and the version of
base-files targeted for the release is changed to specify the version number. You can see this in the changelog, e.g.
base-files (9) unstable; urgency=medium
- Changed issue, issue.net, debian_version and os-release to read
"stretch/sid", and dropped VERSION and VERSION_ID from os-release.
base-files (8) unstable; urgency=low
- Release for jessie as stable:
- Use "8" as version in /etc/issue and /etc/issue.net. As usual, this
is never expected to change once that jessie is released as Debian 8.
Version 8 is the version that Debian 8 released with; it gets updated for point releases, but those changes don't appear in the main changelog (they're effectively on another branch). Version 9 is the first version for the development of Strech, the codename for the next release of Debian.
So any mix of testing and unstable, including pure testing systems with no unstable packages, will show the codename of the forthcoming Debian release, and
sid, the permanent codename for unstable; thus
stretch/sid in the run up to Stretch,
buster/sid in the run up to Buster... The actual contents of your system are determined by your
apt configuration and how often you update.