Skip to content

Latest commit

 

History

History
114 lines (105 loc) · 7.53 KB

agent-work-discovery.md

File metadata and controls

114 lines (105 loc) · 7.53 KB

Bounded public objective discovery

AgentWorkDiscoveryTask runs a question through the existing Work controller. The trusted caller freezes its initial document, anonymous public account scope, same-origin path subtree, one or two navigation hops, extraction schema and ordinary run budgets. It supplies neither a route nor an answer predicate. The model chooses current-document inspection, an observed link destination, or terminal source-backed extraction. Mechanical completion is ModelMapped; usefulness and factual correctness require separate judgment.

AgentNavigationDiscovery is an immutable manifest extension, mutually exclusive with exact routes. Its departure, path prefix, hop limit and owning node are fingerprinted. It admits only Public / Anonymous / Read authority. Each requested URL must occur on a public link in the exact acknowledged observation and fall inside the approved slash-delimited path subtree. Queries, fragments, encoded path substitutions, repeats and redirects are excluded. Page data never changes the approved origin, account or path scope.

The semantic runtime reads link URLs through its captured native anchor getter. Canonical credential-free HTTP(S) destinations have a 2-KiB per-link ceiling and share the original total text, wire and provider payload limits. Rust rejects malformed/non-link fields and omits sensitive, secret-shaped or noncanonical URLs. Destinations participate in observation fingerprints and semantic diffs. Model navigate proposals still dispatch the original exact native navigation operation, without invoking page click handlers. The pinned runtime is 98,189 source bytes; its installation cap is 96 KiB (previously 92 KiB). This accommodates the added fixed implementation, not additional observed page content or model input.

The existing session owns provider calls, counts, transport, cancellation, native epochs, account refresh, audit and shutdown throughout. Each hop revokes old references before dispatch. Its exact native receipt precedes a fresh successor observation and account sample. Earlier page transcripts are retired; only the current document may supply extraction citations. A bounded host checkpoint describes completed hops and the maximum allowance without supplying a next destination. For discovery it also preserves the exact current and prior document URLs: a bounded private policy prefix is recorded only at successful native settlement and rejoined to original receipt target guards/current context before projection. Retiring old page transcripts must not erase the information needed to avoid revisits. These URLs are not citable page evidence, restored old references, audit content, a suggested route or additional authority.

The first task can complete before spending its entire navigation allowance. Nonterminal reads format only the exact current provider-acknowledged observation. The closed snapshot inspection tool can now request a fresh initial viewport, an explicitly referenced containing region, a subtree or bounded surrounding text. It retires the previous provider replay before native capture, then joins the exact requested same-document successor to a fresh acknowledged baseline. A heading's subtree does not include following sibling prose; surrounding text can include that prose, whereas a table-of-contents link does not resolve its destination. A region capture reads its own structural level: nested landmarks and documents remain independently expandable roots, with truthful scope-boundary completeness. Their descendants cannot exhaust the parent capture inside an earlier sidebar. Subtree remains explicitly recursive. Tool descriptions state these distinctions. Initial capture offers up to 24 rendered off-viewport heading anchors, appended after normal viewport content using only spare original node/wire budgets and at most 2 KiB additional heading text. These anchors cannot displace visible controls/content. Hidden, unmounted, virtualized content and additional frames remain unsupported.

The same original policy, account attestation, model-turn/token budget and deadline apply to every inspection. Ordinary read(initial) never recaptures native content or upgrades stale refs. Only evidence from the fresh current observation can supply citations; previous page/scope content is not replayed. The existing policy-bound discovery checkpoint also keeps up to eight content-free inspection outcomes (scope/window, snapshot, node count and incompleteness). A prior target is mentioned only if its private identity can be matched to a ref in the exact current observation; otherwise the target is null. No old text, tool replay or capability is restored. Initial refresh does not erase this history or pretend to scroll/page through results. Navigation clears this document-local history. The full host checkpoint is serialized before the original structured-input reservation; all bytes count within existing ceilings. The checkpoint and tool schema are provider-neutral. The existing desktop discovery composition still selects Luna/Terra via OpenAI Responses; Anthropic navigation manifests remain explicitly unsupported until their existing checkpoint/accounting seam is implemented, rather than claiming parity from the generic checkpoint alone. Inspection history uses that same qualified structured discovery checkpoint path, not an uncounted provider-specific side channel. Actions, cross-origin browsing and cross-document evidence synthesis are not supported. The shared Rust contracts are platform-neutral. Actual desktop composition and live evidence remain macOS-only until the Windows composition is qualified.

The same controller now supports this discovery contract on application-retained Work resources. A retained hop consumes both the original resource terminal and the existing policy/audit receipt, including after cancellation; it does not allocate a legacy context or restart the session. The successor's observation owns its bounded native rendering episode and retires presentation before the next provider call. See retained resource ownership. Beyond deterministic two-hop/interruption regressions, one retained macOS public workflow completed two Luna-selected Svelte documentation hops with durable success and clean retained-resource closure. Human review found the route rational but answer usefulness partial because a relevant subsection body was absent from model-visible evidence. This qualifies the navigation/lifecycle seam, not complete semantic content access, cross-page synthesis or general reliability. The first live inspection failure (repeated broad-region/viewport captures) and its generic deterministic correction. The corrected Svelte/Luna qualification is still pending; neither earlier result is retroactively upgraded by passing fixtures.

Production/BYOK construction remains store:false. The development-only discovery-qualification feature explicitly opts into retained public Responses through the same profile-bound application preparation and is compile-refused in optimized builds.

The first actual-app qualification passed on macOS at source e792f6f. Luna chose two previously observed React documentation links, recognized when the current page supported the answer, requested a schema-bound extraction, and terminated through the ordinary durable controller path. The retained trace was manually reviewed for route independence, answer usefulness, and source mapping. This proves the bounded public single-agent slice; it does not yet prove signed-in work, mutations, general cross-origin discovery, concurrent Browse, Windows, or multi-agent orchestration.