Skip to content

feat: LabWired branding pass and working install URLs - #13

Merged
w1ne merged 21 commits into
mainfrom
feat/agent-branding-pass
Aug 10, 2026
Merged

feat: LabWired branding pass and working install URLs#13
w1ne merged 21 commits into
mainfrom
feat/agent-branding-pass

Conversation

@w1ne

@w1ne w1ne commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • LabWired product chrome on the agent TUI: theme (branding/themes/labwired.json), splash banner, terminal title, and start messages that say LabWired Agent
  • OpenCode remains the engine; labwired agent opencode is still a supported alias
  • Public install docs and checks use live endpoints that work: labwired.com/install (macOS/Linux) and labwired.com/install.ps1 (Windows). Nested /install/agent 404s on GitHub Pages and is rejected

Test plan

  • bash tests/public-install.sh
  • bash tests/agent-lifecycle.sh
  • bash tests/harness.sh
  • bash tests/dispatcher.sh
  • After merge: deploy landing install scripts if needed; smoke curl -fsSL https://labwired.com/install | bash and labwired agent on macOS
  • Smoke Windows: irm https://labwired.com/install.ps1 | iex

w1ne added 21 commits August 10, 2026 22:37
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.
@w1ne
w1ne merged commit c0e105d into main Aug 10, 2026
8 checks passed
@w1ne
w1ne deleted the feat/agent-branding-pass branch August 10, 2026 21:41
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.

1 participant