Skip to content

docs(basecamp): note that bin-macos-app --user-dir is orthogonal to scaffold's per-profile XDG isolation#178

Open
danisharora099 wants to merge 1 commit into
masterfrom
docs/user-dir-vs-xdg-isolation-cross-ref
Open

docs(basecamp): note that bin-macos-app --user-dir is orthogonal to scaffold's per-profile XDG isolation#178
danisharora099 wants to merge 1 commit into
masterfrom
docs/user-dir-vs-xdg-isolation-cross-ref

Conversation

@danisharora099
Copy link
Copy Markdown
Contributor

What this changes

Adds one paragraph to the AppImage testing via build-portable section of docs/basecamp-module-requirements.md, explaining the relationship between bin-macos-app's first-class --user-dir flag and scaffold's per-profile XDG isolation under .scaffold/basecamp/profiles/.

Why

Surfaced during eth-lez-atomic-swaps's dogfooding pass against bin-macos-app. The two mechanisms exist at different layers and are easy to conflate when reading the basecamp + scaffold docs separately: --user-dir is an AppImage-launcher flag that picks where one AppImage instance stores state; scaffold's XDG-based isolation is how lgs basecamp launch <profile> keeps two dev-stack instances from colliding. They don't interact.

A repo-wide search confirmed --user-dir, LOGOS_USER_DIR, and LOGOS_DATA_DIR were not mentioned anywhere in scaffold's docs before this PR. This adds the first cross-reference.

Reduces churn for downstream multi-instance test harnesses (like eth-lez-atomic-swaps's two-Basecamp launcher) that read both pieces of documentation and have to reconcile the two mechanisms.

Changes

One paragraph appended to the ## AppImage testing via build-portable section, right after the existing scaffold is intentionally unaware of the AppImage's install path sentence — that line is the natural anchor for the cross-reference.

No behaviour change — purely documentation.

See also

…caffold's per-profile XDG isolation

Adds one paragraph to the 'AppImage testing via build-portable' section
of docs/basecamp-module-requirements.md, explaining the relationship
between bin-macos-app's first-class --user-dir flag (sets
LOGOS_USER_DIR) and scaffold's per-profile XDG isolation under
.scaffold/basecamp/profiles/.

The two mechanisms exist at different layers and are easy to conflate
when reading the basecamp + scaffold docs separately. A repo-wide search
confirmed --user-dir / LOGOS_USER_DIR / LOGOS_DATA_DIR were not
mentioned anywhere in scaffold's docs before this PR — this adds the
first cross-reference.

Reduces churn for downstream multi-instance test harnesses (like
eth-lez-atomic-swaps's two-Basecamp launcher) that read both pieces of
documentation and have to reconcile the two mechanisms.

No behaviour change — purely documentation.

Surfaced during eth-lez-atomic-swaps dogfooding (TR-13 in that
project's scaffold-upstream-tracker.md).

Amp-Thread-ID: https://ampcode.com/threads/T-019e5087-7217-7571-b401-21bb51a783ba
Co-authored-by: Amp <amp@ampcode.com>
@danisharora099 danisharora099 requested review from a team and Copilot May 22, 2026 17:00
danisharora099 added a commit to logos-co/eth-lez-atomic-swaps that referenced this pull request May 22, 2026
All 9 upstream filings (7 issues + 2 doc PRs) for the scaffold-upgrade
tracker are now done. This commit updates the tracker + plan docs to
record the filing dates + URLs and to mark every entry's status.

Filings on 2026-05-22:

- TR-03 cross-repo: primary logos-co/logos-package-manager#14 +
  companion logos-co/logos-basecamp#197 (lgpm vs bin-macos-app LGX
  variant flavor mismatch, Options A/B/C surfaced).
- U-A umbrella logos-co/scaffold#171 ([basecamp.profiles.<name>] schema)
  bundling TR-04, TR-05, TR-08, TR-12, TR-16, TR-17.
- U-B umbrella logos-co/scaffold#172 (lgs run pipeline extensions)
  bundling TR-06 + TR-19.
- U-C logos-co/scaffold#173 ([circuits] schema + lgs setup auto-fetch).
- U-D umbrella logos-co/scaffold#174 (lgs basecamp verb granularity)
  bundling TR-10, TR-14, TR-15.
- TR-09 logos-co/scaffold#175 (lgs run --watch globs + debounce).
- TR-20 logos-co/scaffold#176 (lgs basecamp develop <module>).
- TR-11 doc PR logos-co/scaffold#177 (hand-authored [modules.*] tables).
- TR-13 doc PR logos-co/scaffold#178 (--user-dir vs XDG isolation).

All 19 tracker entries are now either filed (18) or retired (TR-18).
Upstream queue is empty; remaining work is project-internal cleanup
keyed to upstream landings.

Amp-Thread-ID: https://ampcode.com/threads/T-019e5087-7217-7571-b401-21bb51a783ba
Co-authored-by: Amp <amp@ampcode.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR clarifies documentation for Basecamp portable/AppImage testing by explaining that the AppImage launcher’s --user-dir state directory selection is independent from scaffold’s per-profile XDG isolation under .scaffold/basecamp/profiles/.

Changes:

  • Add a paragraph to docs/basecamp-module-requirements.md explaining the separation between --user-dir (launcher-level state location) and scaffold profile XDG isolation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


`build-portable` does not touch profiles, `basecamp.state`, or the AppImage itself — it only produces artefacts. Load them into your AppImage in the printed order via its "install lgx" button; scaffold is intentionally unaware of the AppImage's install path.

If you launch the AppImage with `--user-dir <path>` (the `bin-macos-app` flag that sets `LOGOS_USER_DIR`), the AppImage stores its state at `<path>` rather than its default XDG data root — orthogonal to scaffold's per-profile XDG isolation under `.scaffold/basecamp/profiles/{alice,bob}/`. The two are independent mechanisms at different layers: scaffold's profiles isolate dev-stack runs; `--user-dir` isolates a single AppImage launch's installed-modules + identity state.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants