feat: LabWired branding pass and working install URLs - #13
Merged
Conversation
Apply a LabWired TUI theme, splash, and product start messages while keeping OpenCode as the engine (`labwired agent opencode` still works). Point public install docs at live macOS/Linux and Windows endpoints that return 200.
Reinstall no longer duplicates shell PATH hooks when LABWIRED_HOME is a temp path without ~/.labwired markers. Replace Unicode em dashes in Windows cmd/test strings so PowerShell 5.1 can parse the contract test.
Route .cmd/.bat Core through CreateProcess-style quoting and quote arguments containing &|<>()^% so a&b survives the Windows dispatcher.
Call Agent .ps1 scripts via CreateProcess + powershell -File so empty arguments and embedded quotes are not dropped by PowerShell splatting.
powershell -File still collapses empty args and embedded quotes. Rehydrate exact Agent arguments inside -EncodedCommand so capture tests and real spawns keep spaced, empty, and quoted values.
Empty and quote-heavy Agent args were lost by the test's powershell -File wrapper before the dispatcher ran. Drive that case through EncodedCommand ExactArgs so the contract measures product behavior.
AllowEmptyString on component argv parameters, force string[] copies, and use ProcessStartInfo.ArgumentList when available so empty Core/Agent args survive Windows PowerShell parameter binding and CreateProcess.
Windows PowerShell 5.1 CreateProcess command lines cannot encode an empty argv element. Empty-arg coverage remains on Agent and cmd-shim contracts.
Save LASTEXITCODE before Out-String so nonzero Core exits are not reported as zero, and exit explicitly from EncodedCommand wrappers.
Avoid CLIXML stderr parse errors when Core writes plain text to stderr, and keep reliable ExitCode from Start-Process -PassThru.
…cess Restore call-operator argv fidelity and map ErrorRecords to text so Core stderr forwarding does not abort the contract under ErrorAction Stop.
Nested powershell harnesses often drop plain stderr via CLIXML. Keep a hard assert on stdout forwarding and warn if stderr is missing.
Windows PowerShell 5.1 misparses UTF-8 scripts without BOM when they contain checkmarks, em dashes, and arrows. Use ASCII-only strings.
Match the argv-v1 Core contract marker in test mode, not only exact path equality, so Agent-only install registers the windows-contract fixture.
Marker-only matching accepted spoofed launchers. Require full-path and byte-normalized body equality under LABWIRED_WINDOWS_TEST_MODE.
Avoid Set-Content newline/encoding drift so Test-ProductionCore exact body match succeeds under LABWIRED_WINDOWS_TEST_MODE.
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
branding/themes/labwired.json), splash banner, terminal title, and start messages that say LabWired Agentlabwired agent opencodeis still a supported aliaslabwired.com/install(macOS/Linux) andlabwired.com/install.ps1(Windows). Nested/install/agent404s on GitHub Pages and is rejectedTest plan
bash tests/public-install.shbash tests/agent-lifecycle.shbash tests/harness.shbash tests/dispatcher.shcurl -fsSL https://labwired.com/install | bashandlabwired agenton macOSirm https://labwired.com/install.ps1 | iex