Skip to content

Phase 1: discover + plan + review on /discover (no execute) #68

Description

@enricopiovesan

Goal

Deliver Phase 1 of the medium-term /discover demo from discussion #1102 and
traverse#1150: a visitor picks a structured goal, and the page — with no backend
discovers real published capabilities from the live registry and produces a
deterministic browser-local workflow proposal for review. Nothing executes in this
phase. The runtime stays the sole authority; the browser is an untrusted proposer.

This is distinct from the authored-bundle Real mode already shipped in
#58 (#63 / #65 / #67), where the capabilities and their order
are pinned in a committed bundle. That stays as the "simplest case"; this ticket makes
the composition discovered (plan + review only).

Phase 2 (composed execution + per-node traces) is a separate issue — see Related.

Decisions (2026-09-09 brainstorm)

Full log: #68 (comment)

  • Ship Phase 1 publicly as soon as traverse-embedder-web@0.8.0 is consumable
  • Plan over the full is_automatic_eligible catalog; UI offers one happy-path goal +
    one structurally impossible fail-closed goal
  • Goal-scoped prep of the structural neighborhood (eligible-only); verify planner API
    prep requirements
  • Third labelled path: Simulation · authored Real · discovered Real
  • Honest copy: discovered from the live registry and planned in-browser — reviewed,
    not executed

Upstream: DONE

  • registry#383 — catalog.json carries contract_url + contract_digest; CORS-open contracts
  • registry#384 — is_automatic_eligible, risk, effect_class, determinism_class
  • traverse#1271 — browser-local composition, no remote endpoint (Spec 1277 + ADR-0062)
  • traverse#1269 / #1270 — planner + composed-execution in the Rust crate
  • traverse#1272 — signed registry_ref activation (index-v263)
  • traverse#1308 scope (planner) / PR path for web planner binding — awaiting npm 0.8.0

Blocked by

  • traverse-embedder-web@0.8.0 on npm (planner surface from traverse#1308 /
    related PRs). Until npm view traverse-embedder-web version is >=0.8.0, this
    ticket cannot start. (As of 2026-09-09 npm still reports 0.7.0 only.)

Definition of done (Phase 1 only)

  • /discover presents a discovered Real path alongside Simulation and the
    authored-bundle Real mode; live / derived / simulated / real-authored /
    real-discovered labelled above the fold.
  • The page builds a verified synced-registry snapshot from catalog.json +
    contract_url / contract_digest + registryCache verification evidence; stale
    or unverified evidence fails closed before planning (Spec 1277 FR-001).
  • Given a structured target, the page runs the browser-local deterministic
    planner
    (traverse-embedder-web@>=0.8.0, Spec 1277 FR-002–FR-004): candidates
    derived only from Spec-113 structural / declared-event relationships, ambiguity
    enumerated not chosen, no name/namespace/NL/model inference, bounded, with stable
    plan_search_truncated / no-candidate outcomes. Mappings shown
    mapping_unconfirmed.
  • Selection input to the planner is constrained to is_automatic_eligible
    capabilities (registry#384).
  • UI committed goals: one happy-path + one structurally impossible fail-closed /
    no-candidate target; planning may see the full eligible catalog; deps prepared
    goal-scoped (structural neighborhood).
  • Fail-closed and redacted for: unverified/stale snapshot, invalid target,
    no-candidate, resource-bound breach / BrowserPlanError codes. No fabricated
    success. No execution path in this phase.
  • No hosted model, no prompt storage, no NL planning, no remote planning endpoint,
    no CORS exception (Spec 1277 FR-008) beyond existing registry mirror fetches for
    preparation.
  • Checked-in browser E2E: one discovered proposal success (review gate holds, no
    execute) + one fail-closed rejection, against a deterministic pinned snapshot
    fixture.
  • discover-truthfulness extended; page copy states discovery + planning only —
    never execution, never an agent/model; no claim exceeds Spec 1277's Phase-1
    boundary.
  • PR references traverse-embedder-web@0.8.0 (or later planner release) and Spec
    1277 / ADR-0062; documented local reproduction.

Non-goals

Natural-language goal parsing; a hosted or in-page LLM; automatic review/submission of
proposals; multi-plan auto-selection; registry or manifest mutation from the page;
retiring the authored-bundle Real mode; composed execution / per-node WASM traces
(Phase 2).

Related

  • website#71 — Phase 2 execute
  • website#58 (authored-bundle Real — shipped)
  • discussion #1102, traverse#1150 (umbrella)
  • Spec 1277, ADR-0062, Spec 108 / 109 / 113 / 1258
  • traverse#1308 (web planner + release), traverse#1313 (composed-exec binding — code
    Done via PR #1315; npm 0.9.0 still required for Phase 2)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions