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.