Support Copilot Gallery

Copy Markdown View Source

The support-copilot gallery is a committed Phoenix example app that demonstrates Scoria in a realistic B2B support domain. It is the human-clickable companion to the merge-blocking generated-host overlay proof.

Clone the repository

The gallery lives at examples/support_copilot in the GitHub repository. It is not included in the Hex package tarball — clone the repository to run it locally:

git clone https://github.com/szTheory/scoria.git
cd scoria/examples/support_copilot
mix setup
mix phx.server

This starts the separate gallery app under examples/support_copilot, not the Scoria repo dashboard. Visit the gallery host chat at http://localhost:4010/ and the gallery-local Scoria operator surface at http://localhost:4010/scoria.

Path dependency vs tarball consumer proof

SurfaceDependency shapePurpose
Gallery (examples/support_copilot)path: dependency ({:scoria, path: "../.."})Human-clickable demo + advisory LiveView journey tests
Merge-blocking adoption (mix test.adoption)Hex-shaped tarball from mix hex.build --unpackProves packaged artifact installs in a generated Phoenix host

Adopters evaluating from Hex should run mix test.adoption in their host app. Clone the repo when you want the full interactive gallery.

Persona

Support Ops Lead at Acme Corp (acme-corp tenant) triages billing disputes, escalates refunds to a billing_specialist role, and inspects operator evidence in Scoria.

Advisory verification lane

Maintainers and adopters exploring the gallery can run:

mix scoria.test.support_copilot

This lane is advisory — it is not part of VerificationLanes.closeout_order/0. Merge-blocking adoption proof remains mix test.adoption.

Optional lane commands exercised by gallery journeys (run in the main repo, not inside the gallery app):

Journey fixtures

Shared identities, ticket data, and handler logic live in Scoria.SupportJourney, SupportJourney handlers, and priv/fixtures/support_journey/. The gallery, host-proof overlay, and this guide must stay aligned via source contract tests.

Default lane

  1. Host starts a durable run with Scoria.start_run/2 for session support-session-42.
  2. An approval step pauses with waiting_for_approval while a refund is reviewed.
  3. Operator approves and the host calls Scoria.resume_run/2 until status is completed.
  4. Evidence is visible at /scoria/workflows/:run_id.

Handoff lane

  1. Host escalates with Scoria.start_handoff_run/3 to billing_specialist with billing_review delegated kind.
  2. Operator inspects delegated lineage via Scoria.get_run_detail/1 on /scoria/workflows/:run_id.

Semantic FAQ lane

  1. Gallery starts a read-only semantic run with SupportCopilot.SemanticLane.
  2. Operator inspects semantic evidence on the workflow detail surface.

Knowledge lane

  1. Gallery seeds Acme refund policy knowledge source from journey fixtures.
  2. Host runs a grounded answer step; evidence references the knowledge corpus.

Connector lane

  1. Gallery registers a billing connector for tenant acme-corp.
  2. Host runs a connector lookup step; operator fleet view lists the connector.

Tools in the scenario

  • lookup_support_ticket — read ticket TKT-1042 ("Duplicate charge on Pro plan")
  • issue_refund — approval-gated refund for the disputed charge

Shared handlers

Overlay smokes and the gallery delegate to the shared SupportJourney handlers so approval, lookup, and lane handlers cannot drift between merge-blocking proof and the reference demo.