fix: use strict manifest loader across all CLI commands (#1100)#1104
Merged
nextlevelshit merged 1 commit intomainfrom Apr 13, 2026
Merged
fix: use strict manifest loader across all CLI commands (#1100)#1104nextlevelshit merged 1 commit intomainfrom
nextlevelshit merged 1 commit intomainfrom
Conversation
All 11 CLI commands that loaded wave.yaml now use loadManifestStrict() which provides KnownFields(true) parsing and sets Manifest.RootDir. This unblocks env file support — without RootDir, the adapter env file resolution had no base path to resolve relative .env paths. Added manifest.UnmarshalStrict() for strict parsing without full manifest validation (which requires workspace_root, adapters, etc.). Commands get strict field checking + RootDir while test fixtures with minimal YAMLs still work. Closes #1100
f946af1 to
b31c2b8
Compare
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
loadManifestStrict()instead of rawyaml.Unmarshalparamsblock from Ghostparamsfield in wave.yaml: not in schema, not in Go types, silently dropped #1089)Manifest.RootDir— required for env file support (without this,.envfile loading in adapter.go was dead code)manifest.UnmarshalStrict()— strict parsing without full structural validationCommands fixed: run, do, chat, compose (2x), fork, resume, rewind, meta, retro, validate, agent
Closes #1100
Test plan
go test ./...— all packages passwave validateworks with strict parsing