The appmanifest spec doesn’t explicitly define what uniquely identifies a PWA.
Currently, on the desktop versions of Chromium-based browsers and Firefox on Android, PWAs are uniquely identified by app's start_url and Android Chromium-based browsers use manifest_url instead. This is confusing to developers. Also it made developers unable to change their start_url and manifest_url.
Having a stable id allows apps to update other metadata like start_url and manifest_url, and have a consistent way to reference apps across browser platforms, PWA stores and other external entities.
This feature tracks the launch process for implementation on the desktop side, as the Android implementation will be done with a different timeline. They will both follow the same specification.