Skip to content

Rename tracker: Loft -> Devsy, Pro -> Platform #1551

Open

Description

@skevetter

Tracks the repo-wide rename: Loft -> Devsy, product Pro -> Platform (devsy pro -> devsy platform). Maintained by the Devsy Rename bot; updated every run. Approve/decline T3 items in a comment.

Remaining (origin/main, excl. go.sum)

  • Loft, case-insensitive substring: 39 lines / 13 files (was 217 / 41). All remaining hits are T3 literals/kept: cmd/pro 31 (helm release/chart loft, loft-* secrets/ingress, loft-data volume, /var/lib/loft, loft.my-domain.tld example, test product), pkg/platform 2 (kubeconfig context, loft-p-), pkg/driver 2 + renovate.json 1 (kept), e2e 2 (examples URL), pkg/workspace 1 (test path /home/loft/devsy, incidental)
  • Pro (product tokens, PCRE per skill, excl .github/go.sum/renovate.json, origin/main 9c80b29, 2026-10-27): 192 lines / 93 files (cmd/pro 121, pkg/provider 15 (test, T3 provider "pro"), cmd/workspace 10, pkg/ide 6 (3rd-party "One Dark Pro"/posit server-pro, keep), cmd/root.go 5, pkg/workspace 4, pkg/config 4, CONTRIBUTING 4, .goreleaser.yml 4, providers 3, pkg/platform 3, mise.toml 3)
    • most remaining cmd/pro hits are import paths (cmd/pro/...) that go away with the dir move, CLI command strings (devsy pro ..., T2) and the devsy-pro provider YAML (T3)

Checklist

Needs workflow edit (CI bot)

  • build-cli (pr-ci.yml; intermittent since ~2026-10-21T05:00Z, passed again at ~02:40 local after a fresh merge ref; same failure hit devsy-provider-ssh Release): ubuntu disk quota exceeded on cold Go build (no setup-go Linux cache left; macOS 2GB + Windows 1.2GB caches fill the 10GB cap) -- free runner disk / GOTMPDIR off /tmp / shrink caches (CI bot notified 2026-10-21)
  • .github has 3 pro hits; to be reviewed

Decisions (from user in chat, 2026-10-18)

  • Nothing uses the loft release/context today; old, unmaintained path. No chart is served yet (charts.devsy.sh does not resolve; devsy-org/platform is private, README only).
  • Chart/release name: platform. Namespace and resource prefix: devsy-platform, devsy-agent, devsy-p-, devsy-admin.
  • Hosting: OCI on ghcr.io (oci://ghcr.io/devsy-org/charts/platform); no DNS/Netlify needed for now.
  • Chart source: new repo https://github.com/devsy-org/charts (created, public). Scaffold PR feat(platform): add platform chart scaffold charts#1 merged (user-authorized); next: tag platform-v0.1.0 to publish, verify ghcr package is public, then CLI switches to the oci:// reference. Placeholder arm64 Loft-based image; port/env names unverified.
  • Provider pro: unused today; direction is a Devsy managed-service provider, name open (platform suggested); may later move to its own repo like the microsandbox/other provider repos.

Findings that affect the T3 table

  • devsy pro start already uses config.ProReleaseName = devsy-pro for chart, release, namespace and product (not loft). loft appears in cmd/pro/cluster/add.go (agent chart) and cmd/pro/user/reset_password.go, pkg/platform/kubeconfig.go, etc.
  • The server image ghcr.io/devsy-org/devsy-pro:latest is upstream Loft v4.4.3 (cmd loft start, workdir /loft, PRODUCT=devpod-pro, arm64 only). In-cluster loft-* names are likely created by that binary, so renaming them CLI-side only is safe once the server image is replaced or rebuilt, not before.

Boundary decisions (T3) -- no action until you approve

Item Where Options Status
Helm release/chart name loft, admin user loft-admin cmd/pro/cluster/add.go, add_flags.go, cmd/pro/start*.go (a) keep permanently (b) coordinated chart release + dual-support pending
Cluster resources loft-password-* secret, namespace loft, loft-p- project ns prefix cmd/pro/user/reset_password.go, pkg/platform/project/project.go (a) keep (b) dual-read + new names for new resources pending
kubeconfig context name "loft" (persisted in user kubeconfigs) pkg/platform/kubeconfig.go:478 (a) keep (b) new name + migrate old pending
External repo github.com/loft-sh/examples e2e/tests/up/up.go keep until examples repo moves pending
renovate.json matchPackageNames github.com/loft-sh/api/v4, go.sum root keep (excluded by rule) kept
Test data loftsh/devsy docker image names pkg/driver/kubernetes/registry_test.go keep (real registry namespace, not a rename target) kept
Provider ID "pro", providers/pro, user config contexts providers/, pkg/provider (a) dual-support + one-time migration (b) keep pending (analysis later)

Activity

  1. skevetter commented on Oct 18, 2026

    @skevetter
    ContributorAuthor

    Recording decisions given by the user in chat (2026-10-18): chart+release name platform; namespace/prefix devsy-platform, devsy-agent, devsy-p-, devsy-admin; hosting OCI on ghcr.io; chart source in new repo devsy-org/charts (created); provider pro unused, new name open. Items #1-#3 still need the server-image question (body, Findings) answered before the CLI side is implemented. Bot will not treat this as T3 approval until confirmed here.

  2. skevetter commented on Oct 19, 2026

    @skevetter
    ContributorAuthor

    Run 73e9475 (bot): concurrent run 90e4342 opened #1571 (pkg/daemon/platform + cmd/pro/provider/watch WorkspaceInstance rename) while I was starting the same area. One-in-flight rule: I dropped my duplicate and am not opening a PR this run. Next slice after #1571 merges: Pro T1 in pkg/workspace (unexported helpers proWorkspace*/proInstance*, ListProInstances/GetProInstance/FindProviderProInstance + callers, pro.go -> platform.go, comments/log text); candidate files: pkg/workspace/{list,pro,provider,provider_update,rename,workspace}.go + callers cmd/provider/{delete,rename}.go, cmd/workspace/{troubleshoot,up/up_client}.go, cmd/pro/{cluster/add,completion/suggestions,list,login}.go. No open PR touches them as of now.

  3. skevetter commented on Oct 19, 2026

    @skevetter
    ContributorAuthor

    Run update (bot, 2026-10-19): #1585 merged (ProMetadata -> PlatformMetadata). In flight: #1593 ProInstance -> PlatformInstance (draft, 22 files, 348 non-test lines = over the 300 cap -> needs human: size; CI still running on congested runners). Kept as T3: pro.json, pro_instances, lock file name, DevsyProInstances troubleshoot JSON field. Deferred: workspace.GetProInstance (up_client.go in #1503).
    Remaining counts (origin/main after #1585): Loft 37 lines/13 files (all T3/kept); Pro 635 lines/122 files (cmd/pro 372, pkg/provider 45, cmd/workspace 41, env_flags_test 25, pkg/platform 24, hack 21, pkg/config 20). After #1593 pkg/provider/config/platform ProInstance hits drop ~136 -> 7.
    (Body PATCH failed repeatedly with TLS bad record MAC; checklist in body is one run stale.)

  4. skevetter commented on Oct 24, 2026

    @skevetter
    ContributorAuthor

    Run update (bot, 2026-10-24): #1691 merged (desktop watcher --skip-platform, T2 backward compatible). Counts on origin/main 8b89b0f: Loft 39 lines/13 files (all T3/kept); Pro 205 lines/94 files. Remaining Pro is dominated by cmd/pro import paths (the cmd/pro -> cmd/platform move, still blocked by cmd/root.go in open #1581/#1588), DEVSY_PRO_ENABLED (cmd/root.go), DEVSY_PRO_NS (.goreleaser.yml in #1253, mise.toml in #1690), pkg/platform/client/client.go + pkg/provider/dir.go (#1588), GetProInstance (up_client.go in #1503), T3 provider/on-disk names. No new boundary decisions needed.

  5. skevetter commented on Oct 25, 2026

    @skevetter
    ContributorAuthor

    Run update (bot, 2026-10-25): no unblocked high-value slice left; the remainder is blocked by open PRs (cmd/root.go in #1581/#1588 blocks the cmd/pro -> cmd/platform move + DEVSY_PRO_ENABLED; ProProvider in providers.go in #757; pathmanager test + pkg/platform/client/client.go + pkg/provider/dir.go in #1588; GetProInstance caller in stale draft #1503; .goreleaser.yml in #1253; CONTRIBUTING in #832) or by T3 (provider "pro", pro.json, pro_instances, pro-instance lock, devsy-pro image/release name, DevsyProInstances troubleshoot JSON key). In flight: #1696 (T1: listProWorkspacesForProvider -> listPlatformWorkspacesForProvider with params struct + arbitrary fixture hostnames; 44 non-test lines; CI green on ffa6a99, ready; waiting on CodeRabbit which is rate limited for hours). Counts on origin/main bec651d: Pro 205 lines/94 files (unchanged until #1696 merges); Loft all T3/kept. Suggestion for the user: merge/close #1581 and #1588 (and #1503/#757 if stale) to unblock the dir move. Open T3 items still need your approval comments.

  6. skevetter commented on Oct 25, 2026

    @skevetter
    ContributorAuthor

    #1696 merged (c7b5de6, T1, 44 non-test lines). CodeRabbit completed with no findings after the rate limit cleared (~3h). Checklist: [x] Pro T1 pkg/workspace list helper + fixture hostnames. Skipped (open PRs): ProProvider (#757), pathmanager test (#1588).

  7. skevetter commented on Oct 25, 2026

    @skevetter
    ContributorAuthor

    Run update (bot, 2026-10-25 evening): no PR this run. #1581 and #1630 merged, but the cmd/pro -> cmd/platform move is still blocked by open drafts #1588 (cmd/root.go) and #1705 (pkg/platform/form/form.go); DEVSY_PRO_ENABLED (cmd/root.go) too. Other remaining hits are blocked by open PRs (.goreleaser.yml #1253, CONTRIBUTING #832, ProProvider #757, up_client.go #1503) or T3/kept (provider "pro", pro.json, pro_instances, devsy-pro release name, One Dark Pro / posit server-pro). Counts on origin/main 780b086: Loft 39 lines/14 files (all T3/kept); Pro 192 lines/93 files (cmd/pro 121).

    Decision wanted (low stakes): troubleshootInfo.DevsyProInstances JSON key in hidden devsy workspace troubleshoot output (cmd/workspace/troubleshoot.go, 3 lines). Options: (a) rename to DevsyPlatformInstances (output-only diagnostic, no in-repo consumer) (b) keep. Reply "approve troubleshoot key rename" to proceed. Ping: please merge/close drafts #1588 and #1705 to unblock the directory move.

  8. skevetter commented on Oct 26, 2026

    @skevetter
    ContributorAuthor

    Run update (bot, 2026-10-26): no PR this run; nothing unblocked is left. #1705 merged. Remaining blockers for the cmd/pro -> cmd/platform move and DEVSY_PRO_ENABLED: open draft #1588 (cmd/root.go). .goreleaser.yml (DEVSY_PRO_NS, devsy-pro-dev build id, mise task cli:build:dev:pro) blocked by #1253; CONTRIBUTING.md by #832; ProProvider in providers.go by #757; GetProInstance caller in #1503; pkg/platform/client/client.go + pkg/provider/dir.go by #1588. Everything else free is T3/kept (provider "pro", providers/pro + hack/pro provider name devsy-pro, pro.json, pro-instance lock, ghcr.io/devsy-org/devsy-pro image, DevsyProInstances troubleshoot key, One Dark Pro / posit server-pro, intentional legacy aliases/tests).
    Counts on origin/main c9a7e55: Loft 36 lines/12 files (all T3/kept); Pro 192 lines/93 files (cmd/pro ~121, mostly import paths + package name).
    Decisions wanted: (1) merge or close draft #1588 (it is MERGEABLE/CLEAN, last updated 2026-10-20) so the directory move can proceed; also #1253/#832/#757/#1503 for the remaining hits. (2) Reply "approve troubleshoot key rename" to rename troubleshootInfo.DevsyProInstances JSON key (3 lines, cmd/workspace/troubleshoot.go).

  9. skevetter commented on Oct 27, 2026

    @skevetter
    ContributorAuthor

    Run update (bot, 2026-10-27): no PR this run; nothing unblocked is left. Same blockers as 2026-10-26: draft #1588 (cmd/root.go, pkg/platform/client/client.go, pkg/provider/dir.go; MERGEABLE/CLEAN, no update since 2026-10-20) blocks the cmd/pro -> cmd/platform move, DEVSY_PRO_ENABLED, and the devsy pro login/start hint text; #1253 (.goreleaser.yml DEVSY_PRO_NS / devsy-pro-dev, mise.toml task pairs with it); #832 (CONTRIBUTING); #757 (ProProvider); #1503 (GetProInstance caller). All other remaining hits are T3/kept (provider "pro", pro.json, pro_instances, pro-instance lock, devsy-pro provider name/image/release name, json:"pro" tag, One Dark Pro, posit server-pro, intentional alias tests).
    Counts on origin/main 9c80b29: Loft 39 lines/14 files (all T3/kept); Pro 192 lines/93 files (cmd/pro ~121, mostly import paths + package pro).
    Decisions wanted: (1) merge or close #1588 (also #1253/#832/#757/#1503) to unblock the directory move; alternatively reply "ok to touch cmd/root.go despite #1588" and I will do the move now and leave a trivial conflict (import line + one call) for #1588. (2) Reply "approve troubleshoot key rename" for troubleshootInfo.DevsyProInstances (3 lines). (3) T3 items #1-#3 still need explicit approval + server-image answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    renameLoft/Pro rename

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions