Repository navigation
feat(even-g2): adapt CanvasTTY for glasses with local pairing and voice control - #50
Merged
Merged
Conversation
…ce control Add the opt-in desktop controller and Even G2 companion, six-digit local pairing, scoped terminal and agent controls, local Nemotron recognition, and explicit bundle network policy validation. Integrate current upstream provider and shutdown changes, preserve OMP/Pi and security dependency pins, and document device acceptance and transport review boundaries.
6 tasks done
Owner
|
@teo-nex, merged separately ahead of #51 as Please follow up on:
The upstream CI at |
This was referenced Sep 22, 2026
teo-nex
pushed a commit
to teo-nex/CanvasTTY
that referenced
this pull request
Sep 24, 2026
teo-nex
pushed a commit
to teo-nex/CanvasTTY
that referenced
this pull request
Sep 24, 2026
- Gate the Even G2 final-answer capture behind a per-session grant (CANVASTTY_RUNTIME_CAPTURE_ANSWER) decided at spawn time, mirroring the Codex result capture; the gateway refuses the field for any other lease and keeps only state in the lease. - Read hook stdin up to a fixed cap independent of result capture so a large Stop payload still reports its turn. - Centralize the answer limit in runtime-protocol and format the merged one-liners. - Drop the dead single-card minimap prop; rename the local browser layer alias so it cannot shadow canvasSelectionGesture.browserLayerId. - Move the Even G2 settings strings into the shared i18n dictionary. - Add Unreleased changelog entries for howdeploy#32, howdeploy#34 and howdeploy#50. - Extend the hook capture test for the answer grant and oversized input.
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.
This adapts CanvasTTY's terminal and AI-agent workflows to Even G2 glasses. The opt-in desktop integration and the Even App companion live in the same repository: select a shared session, read its output on the HUD, dictate through local speech recognition, or create and manage agent sessions from the glasses.
User flow
Implementation
.ehpk.0fb74f5, including its shutdown fixes and js-yaml/nanoid security updates.Validation
Upstream CI has passed the 650 desktop tests, 47 companion tests, type checks, build, secret audit, browser core/helper smoke tests and macOS packaging. Windows native host validation, type checking and packaging also passed. All three CI jobs are green.
Also verified locally on macOS arm64 in an isolated publication checkout:
npm ci, 650 desktop tests + 47 companion tests passed.npm run pack:evenpassed, including the emitted-bundle network policy check.git diff --checkpassed.The submitted 0.5.6 store artifact and original working checkout are preserved separately. The published Git tree matches the locally checked candidate exactly.
Acceptance and review boundaries
The user previously confirmed pairing, microphone input, terminal interaction, creation and More agents on their Mac/Android/Even G2 setup. This updated source has not had a fresh physical glasses run. Clean-Mac onboarding, detached-USB operation, phone lock/background/reconnect, Intel Mac and other desktop OS hardware acceptance remain open. The Browser action opens the desktop browser; full glasses browser navigation is future work.
The local transport currently shares one persistent computer encryption key across paired clients. Revocation invalidates API credentials but does not rotate that transport key. Per-device confidentiality and forward secrecy are not claimed; this trust model needs upstream security review before broad distribution.
Even Hub 0.5.6 is awaiting moderation. This PR does not replace that submission. A compatible public desktop installer is not yet published; the documentation provides build instructions. Mac packaging uses ad-hoc signing without notarization. The companion UI is currently Russian.
Setup and architecture · Companion source