You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(launcher-standard): replace hard-coded /var/mnt/eclipse/... with a search-ladder
The launcher standard previously hard-coded `/var/mnt/eclipse/repos/...`
as the sole literal-fallback path for both `launch-scaffolder` finding
`launcher-standard.a2ml` and `.desktop` files finding `keepopen.sh` /
`verify-desktop-integrity.sh`. On any host that does not happen to use
the eclipse-mount layout (e.g. `$HOME/developer/repos`, `$HOME/dev/repos`),
the documented default fallback simply pointed at a non-existent path.
This blocked anyone outside that one layout from using the standard's
defaults — they had to set `--standard <path>` / `$LAUNCH_SCAFFOLDER_STANDARD`
on every invocation, and could not rely on the documented `.desktop`
templates at all.
Changes:
- Add `[resolution]` table to `launcher-standard.a2ml` with two search
ladders: `desktop-tools-search` (finds `.desktop-tools/`) and
`standard-search` (finds `launcher-standard.a2ml`). Each ladder is
ordered: explicit env-var override → estate-root → XDG default →
three known absolute layouts (eclipse, `$HOME/developer/repos`,
`$HOME/dev/repos`). First existing match wins.
- Add `launcher/resolve-desktop-tools.sh`: bash reference implementation
exposing `hp_resolve_desktop_tools` and `hp_resolve_standard` as
sourceable functions, plus CLI behaviour (`--list`, `--standard`,
`<tool-name>`). Downstream launchers SHOULD use this rather than
re-implement the ladder.
- Mark the existing `deployed-symlink` and `fallback-paths` literals
DEPRECATED but keep them in place: pre-resolution consumers
(`launch-scaffolder` until it's rebuilt against this spec) still read
those keys, so removing them would break them. New code MUST use
`[resolution]`.
- Update `docs/UX-standards/launcher-standard.adoc` §Canonical location
to describe the ladder and reference `resolve-desktop-tools.sh`.
Also update the `.desktop` Exec= example with an explicit comment
that the path is resolved at install time (because the freedesktop
spec does not expand env vars in Exec=).
- Update `launcher/README.adoc` consumer-resolution-order section to
describe the ladder instead of the obsolete single literal.
Spec `[spec].version` intentionally NOT bumped here — PR #170 also
bumps it (to 0.3.0) and the two PRs are independent off main; whichever
merges second will need a trivial conflict-resolve to land both bumps.
Verified on this host:
$ launcher/resolve-desktop-tools.sh --standard
/home/hyperpolymath/developer/repos/standards/launcher/launcher-standard.a2ml
(previously: nothing — the only candidate path was the eclipse one)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
deployed-name = "keepopen.sh" # resolved via [resolution].desktop-tools-search
68
+
deployed-symlink = "/var/mnt/eclipse/repos/.desktop-tools/keepopen.sh" # DEPRECATED: legacy literal, kept for pre-resolution consumers. New code MUST use [resolution].
0 commit comments