Skip to content

Decision 0191 addendum: one tab for one remote tab, co-control, the clipboard and Bitwarden passkeys (DEV-6646) - #505

Merged
immakermatty merged 2 commits into
mainfrom
agent/DEV-6646-environment-view-per-tab
Oct 6, 2026
Merged

immakermatty merged 2 commits into
mainfrom
agent/DEV-6646-environment-view-per-tab

Conversation

@immakermatty

@immakermatty immakermatty commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Status: ready for review. Head 949f4a75113d896c305d8b476da3f1aefc2e7e97.

Plan: HumanAndMachine-ai/mission-control-data:v3 data/mission-control/plans/2026/10/DEV-6646-environment-browser-and-desktop.yaml.

Why

The pilot of the Environment browser (decision 0191) ran on one Remote Environment with agent-browser's dashboard as the people's view. The Organization Admin's verdict after using it: "velmi zabugované".

The browser itself works: one Chrome, shared sign-ins, a window per thread, agents on the CLI, and punctuation in the view since the agent-browser distribution. The view did not work for people:

  • it is a browser inside a browser, with its own sessions and tabs;
  • it has a second token that breaks on every restart;
  • links are pinned to stream ports;
  • passkey prompts froze it, because Chrome's native window is not part of the page;
  • paste did not reach the page.

The Admin then decided the shape of the people's view and how passkeys should work. This addendum records it under 0191 so that the Platform implementation and the rollout follow one rule.

What changes

manual/decision-register.md, decision 0191, gains points 11–18 (2026-10-06):

  • (11) One tab of the person is one remote tab.
    • browser.<vm>.<org>.lazurio.io opens a new remote tab, and …/t/<id> views exactly one.
    • The app supplies the tabs. The view has only a thin bar and takes the page's title and icon.
    • A closed tab closes an unused remote tab after a short grace.
    • Each remote tab is its own window.
  • (12) Pop-ups, including extension windows such as Bitwarden, show inside the person's tab. New tabs open as app tabs: automatically in T3 Code, with one click elsewhere.
  • (13) Co-control instead of takeover.
  • (14) The gateway session is the only admission; the view has no own token.
  • (15) Paste and copy cross the clipboard, and keys carry the right codes.
  • (16) Nothing outside the page may block the view:
    • dialogs, the file chooser and HTTP auth show in the view;
    • permission prompts are declined;
    • the Environment's desktop covers the rest.
  • (17) Passkeys through the Environment's Bitwarden are the target and the preferred sign-in path for agents. Phone passkeys over QR/Bluetooth cannot work on a Remote Environment. Until Bitwarden is installed, the browser declines passkey requests without the native window.
  • (18) What the addendum changes in earlier points, in one place:
    • point 5: an agent shares its own tab's …/t/<id> link, never the bare address, which always opens a new remote tab. Anyone admitted by the gateway may open any tab by its address and work in it with the agent. Co-control replaces takeover there and in the decision's title;
    • point 3: a thread has one window per tab;
    • point 8a: the all-windows view is retired, and only the desktop (desktop.) shows all windows. The Launchpad's right panel opens the browser like every other host: the bare browser. address opens a new remote tab, and an agent's …/t/<id> link opens its tab.
  • State: the pilot dashboard stays only on the pilot Environment. The other Environments get the browser with this view, which is a thin LazurioPlatform service over the Chrome DevTools protocol; agent-browser stays the agents' tool.

What does not change

  • Points 1, 2, 4, 6–8, 8b, 9 and 10 of 0191, including one browser per Environment, the agents' CLI, the vault, the team Environment, the desktop, the single gateway cookie, ownership and order, and the hand-over rule. Point 8a keeps "a right panel, not a fourth mode"; only its all-windows view goes.
  • Publication and isolation rules.

Verification

  • bun run pr:preflight passes.
  • The register stays public-safe: it names no Organization and no client.

🤖 Generated with Claude Code

…lipboard and passkeys through the Environment's Bitwarden

After the pilot, the Organization Admin set the shape of the Environment
browser's view for people:
- one tab of the person is one tab of the Environment browser, and each
  remote tab is its own window; closing the person's tab closes an
  unused remote tab after a short grace;
- pop-ups (sign-in, extension windows) show inside the person's tab, and
  new tabs open as new tabs of the app;
- agent and person work in the same tab at once, so control is never
  handed over;
- the gateway session is the only admission;
- paste and copy cross the clipboard;
- nothing drawn outside the page may block the view;
- passkeys live in the Environment's Bitwarden, and until it is installed
  the browser declines passkey requests without the native dialog.

The pilot dashboard stays only on the pilot Environment. The other
Environments get the browser with this view.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-06T17:19:42.474068Z ac4059a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ac4059a6db

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread manual/decision-register.md Outdated

@agentrozjedemeai agentrozjedemeai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@immakermatty — CHANGES_REQUESTED on exact head ac4059a6db01abcefbee609a4ad5eeabdb329dce (base deb8e082). The dated points 11–17 match the stated pilot decisions, the addition has no specific Organization/client names, bun run pr:preflight passed locally, git diff --check is clean, and all six CI jobs are green. However, the new point 11 makes the bare browser.<vm>.<org>.lazurio.io create a new one-tab window. Point 5 still tells an agent to share that bare URL as the view of its existing window; point 8a still tells Launchpad to embed that address for all windows. These instructions cannot all be followed. Please explicitly supersede/clarify those two old URL contracts in the addendum: use /t/<id> for an existing agent tab, and decide whether the all-windows panel retains a separate route or is retired, with the affected host behavior stated. Point 13 currently names only the takeover phrases as changes to point 5, so the URL override is not accounted for. The Codex thread on point 8a is also unresolved. No implementation or merge was performed.

…V-6646)

Point 11 gives the bare browser.<vm>.<org>.lazurio.io address a new
meaning: it always opens a new remote tab. Points 5 and 8a still used
that bare address for an agent's existing window and for an all-windows
panel in the Launchpad, so the texts contradicted each other.

A new point 18 lists every change to the earlier points in one place:
- point 5: the agent shares its tab's …/t/<id> link, and co-control
  (point 13) replaces takeover, also in the decision's title;
- point 3: a thread has one window per tab;
- point 8a: the all-windows view is retired. Only the desktop shows all
  windows, and the Launchpad's panel opens the browser like every other
  host.
Point 13 no longer carries its own partial note about point 5.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@agentrozjedemeai agentrozjedemeai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@immakermatty — APPROVED on exact head 949f4a75113d896c305d8b476da3f1aefc2e7e97 (base deb8e082397fc0194ae458f9d2b9d8a2634cf8a1). Point 18 now explicitly supersedes the earlier URL contract: the bare browser. address creates a new tab; an agent shares /t/<id> for its existing tab. It retires the all-windows browser view in point 8a in favor of desktop., specifies Launchpad panel behavior, reconciles point 3 with per-tab windows, and replaces takeover with co-control including the decision title. My previous contradiction is resolved. The Codex thread is resolved; the current head has six successful checks, zero unresolved threads, a clean git diff --check, and a passing local bun run pr:preflight against current origin/main. This is a decision-register review, not a claim that the browser view is implemented or deployed.

@immakermatty
immakermatty merged commit d8fd813 into main Oct 6, 2026
6 checks passed
@immakermatty
immakermatty deleted the agent/DEV-6646-environment-view-per-tab branch October 6, 2026 18:33
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.

2 participants