Skip to content

Make service mode a first-class Sample App onboarding path #53

Description

@rmcdaniel

The Sample App has a polished embedded-Laravel quickstart and a comprehensive standalone PHP/Python/Rust stack under polyglot/, but the service-mode implementation reads as a conformance harness rather than an evaluator-facing product path. A Laravel user exploring polyglot execution should not have to discover test infrastructure or downgrade to a bare protocol example.

Keep embedded mode simple and add an equally direct service-mode journey built from the existing published Server and SDK artifacts.

Acceptance criteria

  • The top-level onboarding presents two clear runnable paths: embedded Laravel and service mode. Neither is described as the lesser or legacy option.
  • Service mode starts from the Codespace with one memorable command and reuses the prepared development image; it does not rebuild SDK/runtime toolchains.
  • The first service-mode example uses the framework-neutral PHP SDK with its Laravel bridge, dependency injection, logging, worker command, and test fake rather than a bare standalone script.
  • The path starts a workflow, executes a PHP activity, executes one cross-language activity through a Python or Rust worker, waits for a result, and links to the matching Waterline run.
  • Beginner-facing output explains what started and where to inspect it without exposing conformance-matrix terminology.
  • Embedded and service-mode examples use distinct isolated Compose state and can be run repeatedly without workflow-ID collisions or manual cleanup.
  • All package and image versions resolve from the current supported 2.0 train; no stale RC number is copied into the onboarding instructions.
  • A clean Codespace browser/terminal smoke proves both paths from documented commands and retains startup/result timing evidence.

Close only after a first-time-user smoke has completed both documented paths from a fresh Codespace.

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

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:featureA public product capability or experience is requestedpriority:P1High-priority product or release riskrepo:sample-appOwned by the sample application repositorystatus:doneDerived from the authoritative closed issue state

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions