Several open tabs make the visible page an incomplete description of the work. A reference tab can differ from the tab where a document should be written. I wanted the agent's first step to establish that context instead of making an action based on a guess.

The current page was hiding several different states

The page chosen by a person, the default destination at request time and the target of a running program are not always identical. Looking at reference material must not retarget a scheduled job. Conversely, insisting on the current tab would also be wrong when the person explicitly names a different destination.

My first inspection therefore includes the relationship between project, profile and tab. Metadata such as the URL and title helps locate an appropriate existing tab without reading every tab's body. I can narrow the location first and inspect the relevant page state afterward, reducing unnecessary observation and the chance of disturbing an unrelated draft.

This request takes precedence over familiar history

Even a long history of blog work should not make a generic writing request in a cafe target the blog. The current-target rules distinguish the destination in this request from defaults in an older program. A more explicit current instruction, such as naming a particular blog, supplies the narrower condition. Familiar history cannot overwrite present intent.

I also separated source mentions from destination mentions. In a request to use cafe material for a blog piece, the cafe is a source and the blog is the writing target. Treating both as an undifferentiated list of sites risks writing into whichever tab was just consulted. The role of the destination needed to survive tab selection.

Context is an observation, not authentication proof

An account label in context does not prove that the site's authentication remains valid. A saved display name, a selected profile and a live login state observed on the site are different facts. If the site is logged out or shows another identity, the stored label cannot justify continuing.

Context also reveals running work and pending outcome checks. Starting another task to clear an inconvenient state would lose the connection to the original action. The initial inspection is therefore useful navigation and a check for unresolved input. Only after understanding that state do I inspect the relevant execution contract.

Inspection does not eliminate the dispatch-time check

A person can change projects or close a tab after the initial inventory. Reading context once cannot authorize a later operation unconditionally. The external-control handler compares the request's profile, workspace and tab with the host's current relationship. A mismatch returns a context error instead of silently substituting another tab.

I encountered that contract during the investigation. An inspect request without a complete context was rejected; a read request supplying the existing context then succeeded. I have not turned that into a product-failure anecdote. It was a missing caller input, and a short, specific error allowed the agent to correct that input rather than broaden the task.

I isolated target selection as a synthetic module

The shared example accepts a trusted scope, a declared destination, existing tabs and reference-tab identifiers. Without a destination it keeps the request-time current tab. A different platform requires one unique existing tab in scope; missing or ambiguous candidates stop. It never creates a tab and does not claim to interpret arbitrary natural language.

The product has richer account and project behavior. This module is newly written as a smaller single-profile contract, not a replacement for the original browser's authorization system. An adapter must derive scope from trusted host state rather than believe an untrusted form field merely because the resolver accepts a dictionary.

Hide the identifiers, not the destination

A person should not have to memorize internal tab IDs. They should still be able to see which site and account will be used and which material is only a reference. The program handles identifiers while the interface exposes information needed for judgment. Hiding implementation fields is different from hiding the execution target.

The evidence for this article is the actual code, development record and the new synthetic module's tests. It is not another live publication or account-switching test. One selection rule cannot cover every workflow. Leaving an ambiguous destination for the necessary clarification is more useful to the next operator than manufacturing certainty.