fix(workspace): resolve workspace paths against git root, not process CWD#1126
Merged
nextlevelshit merged 4 commits intomainfrom Apr 16, 2026
Merged
fix(workspace): resolve workspace paths against git root, not process CWD#1126nextlevelshit merged 4 commits intomainfrom
nextlevelshit merged 4 commits intomainfrom
Conversation
Add ~1400 lines of new tests across four packages: - pipeline: graph execution, chat workspace, step ref resolution, workspace creation - webui: embed helpers, icon rendering, token formatting - contract: LLM judge model resolution, test suite dir field validation - manifest: type parsing and validation - fix stale llm_judge_test assertion for balanced tier fallback
- graph_test.go: check os.Chdir return in defer - create_workspace_test.go: add t.Logf to empty recover branch
…-cycle - Strip ## OUTPUT section from fetch-assess.md — Wave injects output path and schema via buildContractPrompt(), hardcoding in prompts violates AGENTS.md rule #1 - Remove all adapter: opencode from full-impl-cycle.yaml — adapter should be set via CLI --adapter flag or persona defaults, not hardcoded per step
… CWD NewWorkspaceManager now calls resolveGitRoot() (git rev-parse --show-toplevel) when baseDir is relative, anchoring .wave/workspaces/ to the repository root regardless of where tests or subprocesses set their CWD. Absolute paths (e.g. t.TempDir()) pass through unchanged. Also adds **/.wave/workspaces/ to .gitignore as a safety net for any future stray directories. Implements #1124.
Collaborator
Author
Review Resolution SummaryTotal findings reviewed: 0 No review feedback was found on this PR. The PR was approved and merged without any inline comments, PR-level comments, or formal reviews requiring resolution. |
Collaborator
Author
Review Resolution SummaryTotal findings reviewed: 0 No review feedback was found on this PR. The PR was approved and merged without any inline comments, PR-level comments, or formal reviews requiring resolution. Test suite: passing |
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CreateWorkspacewas resolving.wave/workspaces/relative toos.Getwd()(process CWD) instead of the git root, causing misplaced workspace directories when tests run from sub-packages likeinternal/pipeline/gitRoot()helper ininternal/workspace/workspace.gothat walks up the directory tree to locate the git root via.gitpresence, then always resolves workspace base paths against it**/.wave/workspaces/wildcard to.gitignoreto catch any future stray workspace directoriesinternal/workspace/workspace_test.gocovering git-root resolution, CWD-independent path creation, and error casesinternal/pipeline/,internal/webui/, andinternal/contract/were added/updated as part of broader test coverage improvements on this branchRelated to #1124
Changes
internal/workspace/workspace.go— addedgitRoot()helper;CreateWorkspacenow callsgitRoot()to anchor the workspace base pathinternal/workspace/workspace_test.go— new test suite covering the fix.gitignore— added**/.wave/workspaces/wildcardspecs/1124-workspace-git-root/— planning artifacts (spec, plan, tasks)Test Plan
go test ./internal/workspace/...— unit tests for git-root resolutiongo test -race ./...— full suite with race detection to confirm no regressionsinternal/pipeline/.wave/when tests run from sub-package directories