Prefactor: centralise user-visible app identity #17

Closed
opened 2026-11-05 17:00:32 +00:00 by xavierk · 1 comment
Owner

Parent

Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux

What to build

Make the coming rename easy without changing any behaviour. Every user-visible identity string that is currently hardcoded in more than one place (application identity, system resource prefixes, autostart and tray identifiers, outbound user-agent) is driven from the existing single identity constants, or is added to a checked inventory of surfaces that only the rename ticket may touch. The application behaves, installs, and presents exactly as before; what changes is that the rename becomes a small set of deliberate flips instead of a scavenger hunt.

Acceptance criteria

  • No user-visible behaviour, name, path, or string changes anywhere; the full test, lint, and type gates pass.
  • Each previously duplicated user-visible identity surface resolves through one shared definition, verified by tests asserting the current values.
  • An offline inventory test enumerates the remaining rename surfaces (packaging metadata, desktop entry, site copy) so the rename ticket has a complete, checked list to flip.
  • The retained-internal-name surfaces (Python module name, upstream URLs) are recorded in the inventory as deliberately not renaming.

Blocked by

None (can start immediately).

## Parent [Spec: Voculinux — Void Linux (glibc) Wayland/niri port of Vocalinux](https://git.bongbetic.com/xavierk/voculinux/issues/16) ## What to build Make the coming rename easy without changing any behaviour. Every user-visible identity string that is currently hardcoded in more than one place (application identity, system resource prefixes, autostart and tray identifiers, outbound user-agent) is driven from the existing single identity constants, or is added to a checked inventory of surfaces that only the rename ticket may touch. The application behaves, installs, and presents exactly as before; what changes is that the rename becomes a small set of deliberate flips instead of a scavenger hunt. ## Acceptance criteria - [ ] No user-visible behaviour, name, path, or string changes anywhere; the full test, lint, and type gates pass. - [ ] Each previously duplicated user-visible identity surface resolves through one shared definition, verified by tests asserting the current values. - [ ] An offline inventory test enumerates the remaining rename surfaces (packaging metadata, desktop entry, site copy) so the rename ticket has a complete, checked list to flip. - [ ] The retained-internal-name surfaces (Python module name, upstream URLs) are recorded in the inventory as deliberately not renaming. ## Blocked by None (can start immediately).
xavierk added the ready-for-agent label 2026-11-05 17:00:32 +00:00
Author
Owner

Merged in integration/spec16 1dd3986383 pushed to fork/integration/spec16 (https://github.com/soubarnak/vocalinux/tree/integration/spec16), review PASS, gates flake8 E9,F63,F7,F82 + black --check + isort --check + mypy src/ clean, pytest 37 passed, npm jest 11 suites/92 tests + lint 0 errors + tsc clean + build OK

Merged in integration/spec16 1dd398638312a3b6e27793d856662e60df73f252 pushed to fork/integration/spec16 (https://github.com/soubarnak/vocalinux/tree/integration/spec16), review PASS, gates flake8 E9,F63,F7,F82 + black --check + isort --check + mypy src/ clean, pytest 37 passed, npm jest 11 suites/92 tests + lint 0 errors + tsc clean + build OK
Sign in to join this conversation.