Skip to content

refactor(compass-app): extract embedded launch pipeline into internal/embedded - #1777

Open
rigel-mintaka wants to merge 3 commits into
mainfrom
compass-native/rig-4413-embedded-package
Open

rigel-mintaka wants to merge 3 commits into
mainfrom
compass-native/rig-4413-embedded-package

Conversation

@rigel-mintaka

@rigel-mintaka rigel-mintaka commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Move the embedded launch pipeline from go/cmd/compass-app into a new untagged package, go/internal/embedded. It covers preflight, the compass-stack up/down exec, WhoAmI over the stack socket, image and stack-binary resolution, and the bring-up and teardown timeouts.
  • The app keeps runEmbedded, the quit controller, and the socket and mode resolvers. Behaviour is unchanged: function bodies and doc comments move as they are, and only identifiers are exported.
  • The package needs no Wails or cgo, so a podman e2e test can drive the real launch path headlessly. That test comes in a follow-up PR.
  • The CI darwin gate now also runs ./internal/embedded/, where its named machine and preflight tests moved. stackUpArgs stays unexported because nothing outside the package calls it.

Verification

  • go build ./... and go vet ./...: pass.
  • go vet -tags gtk4 on both packages, plus GOOS=darwin go vet ./internal/embedded: pass.
  • go test -race ./internal/embedded/... and go test -race -tags gtk4 ./cmd/compass-app/...: pass.
  • golangci-lint with and without gtk4: 0 issues.
  • Every Test* name from the old files exists in the new layout (comm against main).
  • rumdl check app-bundle/SMOKE.md: clean.

Risks

None: this is a code move with no logic changes. Rollback is a revert.

Compatibility

No CLI, flag, or config change. go/internal/embedded is internal to the module.

Documentation

app-bundle/SMOKE.md now cites the new symbol paths. Frozen design records are unchanged.

Refs RIG-4413

…/embedded

Move the host-independent embedded pipeline (preflight, compass-stack
up/down exec, WhoAmI over UDS, image and stack-binary resolution, the
bring-up and teardown timeouts) from cmd/compass-app into a new
go/internal/embedded package. Behaviour is unchanged; the app keeps
runEmbedded, the quit controller, and the socket/mode resolvers.

This gives the embedded launch a non-cgo package that an e2e test can
drive without the Wails shell.

Refs: RIG-4413

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@trunk-io

trunk-io Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

❌ This pull request could not start testing because there was a merge conflict. See more details here.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here

@linear-code

linear-code Bot commented Oct 6, 2026

Copy link
Copy Markdown

RIG-4413

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-native-rig-4413-embe.compass-eng-docs.pages.dev

Deployed from compass-native/rig-4413-embedded-package at 939d024.

Changed pages:

rigel-mintaka and others added 2 commits October 6, 2026 14:08
stackUpArgs has no caller outside the package. Comments that named the
pre-move identifiers now name the current ones.

Refs: RIG-4413

Co-authored-by: Matt Wilkinson <matt@rigel.build>
…mbedded

The darwin gate requires named PASS lines for the machine and preflight
tests, which now live in go/internal/embedded.

Refs: RIG-4413

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@rigel-mintaka
rigel-mintaka marked this pull request as ready for review October 6, 2026 19:38

This branch has not been deployed

No deployments
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.

2 participants