Skip to content

Delphi 0.8.0: dotted workspace names from folder short names (ws/s.app.argos.argos-dev) - #69

Merged
bracyw merged 1 commit into
mainfrom
workspace-short-names
Oct 18, 2026
Merged

bracyw merged 1 commit into
mainfrom
workspace-short-names

Conversation

@bracyw

@bracyw bracyw commented Oct 18, 2026

Copy link
Copy Markdown
Contributor

Changes

A workspace's name is now the short name of each folder from software/ down, then its leaf, joined by dots: ws/s.app.argos.argos-dev (was ws/software/application-software/argos/argos-dev). A folder's short name is its short-name file, else its name; .delphi/names.sh computes every name. Dotted names are flat, so linked/<name> and .delphi/parked/<name> are one folder each (the linking bug), and branches can never clash as folders.

Diagram

before: ws/software/application-software/argos/argos-dev   ->  linked/ws/software/application-software/argos/argos-dev/
after:  ws/s.app.argos.argos-dev                           ->  linked/s.app.argos.argos-dev/

Testing

  • e2e: names.sh names, short-name check, name clash via short-name, dotted workspaces: entries at linked/<name>
  • e2e: sync starts ws/<name> from the old ws/<path> branch and pushes both; a caught-up old branch gets a notice, a diverged one is reported, never merged
  • e2e: 0.8.0 migration moves parked slots, linked/ws/<old> copies and version records, renames the clone's branch, and is safe to re-run
  • e2e: park.sh treats a workspace's old and new names as the same workspace
  • e2e: new-workspace.sh gives the dotted name and refuses one already taken
  • the mod's tests (claude plugin test) with dotted fixtures; cards still show the leaf

Notes

  • Short names added: software is s, application-software is app. That file replaces application-software/plugins/scope: plugin scopes now fall back to short-name. firmware keeps its full name (s.firmware.calypso.calypso-dev) unless we give it one.
  • Transition: on its first run, sync builds each ws/<name> from the old ws/<path> branch and pushes the result to both. A clone still on the old branch pulls 0.8.0, and setup's migration renames the clone's branch. Old branches are kept, with a notice, until we delete them.
  • switch.sh no longer resolves old names or bare leaves; switch.sh --list shows every name.
  • This is a prototype of the naming scheme: the choice of short names is open to discussion.

Checklist

  • ci/check.sh . and bash tests/e2e.sh pass
  • Version bumped if a .delphi/manifest.yml file changed
  • No merge conflicts
  • Request reviewers & ping on Slack

…leaf, joined by dots (ws/s.app.argos.argos-dev); linked/<name> and parked/<name> are flat; sync carries ws/<old> over; migration renames clones
@bracyw bracyw added the by: ai Written by AI label Oct 18, 2026
@bracyw
bracyw merged commit 7a21c5e into main Oct 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

by: ai Written by AI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant