Canonical user-story catalog. Each story is a Playwright-testable journey covering unit-tested code paths. Used for (a) e2e test generation in e2e-playwright/tests/user-stories/fleetprompt/, and (b) as Claude Design input for UI generation.
Scope: Agent marketplace with trust scoring, crystallization, install + review. Unit-test surface covered: test/fleet_prompt/** (157 tests).
Persona: DevOps engineer looking for production-ready agents
Goal: Find a trusted customer-support agent that meets org security requirements
Prerequisite: Deployer logged in; at least 1 published agent in fleet.agents
Steps:
Click ⌘K search bar on marketplace homepage
Type "customer support"; filter min_trust=70
View filtered results ranked by trust score
Click an agent card to open detail page
Review manifest, permissions, version history, test results
Success: Agent manifest with trust badge visible; user can verify behavior before install
Covers: FleetPrompt.Search.*, trust filter, tsvector ranking — ~20 unit tests
UI status: exists-today
Claude Design hook: Search result card (name · trust badge · description · category tags · test pass rate)
Persona: Infrastructure team installing an agent into production
Goal: Deploy a vetted agent with explicit permission acceptance + org policy validation
Prerequisite: Agent selected; deployer has org admin role
Steps:
Click "Install" on agent detail page
Review declared permissions (orders:read, refunds:create, graphonomous:*)
Accept permission set
System runs Delegatic policy check + MCP dependency resolution
System deploys manifest to OpenSentience runtime with capability tokens
Success: Agent live in production; permissions enforced at OS runtime; audit event recorded
Covers: FleetPrompt.InstallEngine (all 7 steps), Permission.map_to_tokens, Delegatic.policy_check, AuditWriter.log — ~30 unit tests
UI status: exists-today (/ backed by install_engine_test.exs)
Claude Design hook: Permission review modal — per-capability toggle, policy conflict alerts, audit confirmation
Persona: Marketplace admin tracking agent reputation
Goal: Watch trust scores update in real-time as agents accumulate usage + audit data
Prerequisite: TrustWorker running; at least 1 ReputationUpdate token in flight
Steps:
Navigate to /trust dashboard showing all agents
View agents ranked by trust tier (Excellent / Good / Fair / Low)
New test result arrives; TrustWorker recomputes
PubSub broadcasts → LiveView updates without reload
Success: Real-time trust deltas visible across browsers
Covers: FleetPrompt.Trust.Engine, TrustWorker.recompute, Phoenix.PubSub — ~15 unit tests
UI status: exists-today (backend live; route currently returns 500 in production — known regression)
Claude Design hook: LiveView trust tier cards with animated score transitions + historical sparkline
Persona: Developer who has been coding with Claude
Goal: Convert session interaction traces into a FleetPrompt manifest so another dev can install the skill
Prerequisite: Trace seeded in Graphonomous (via act.store_trace); FleetPrompt workspace provisioned
Steps:
Navigate to /publish
Click "Crystallize from Graphonomous"
Enter trace_id; submit
System polls Graphonomous (retrieve.replay) → runs Skills.Crystallizer
Assert draft manifest appears in /drafts with source_id = trace_id
Success: Manifest row in fleet.manifests; crystallization row in fleet.skill_crystallizations; idempotent on re-run
Covers: Skills.Crystallizer (23 tests) + PollWorker (12) + GraphonomousClient.HTTP (18) + InstallEngine step 4 (9) — 62 unit tests in one user story
UI status: backend exists; UI planned
Claude Design hook: Publish page with Graphonomous connector widget + manifest preview + idempotency badge
Persona: Agentelic build pipeline emitting ConsolidationEvent to FleetPrompt
Goal: Auto-publish tested manifest once build passes
Prerequisite: Agentelic emits CloudEvent; spec_hash + compiled_tests_hash present
Steps:
Agentelic build succeeds
CloudEvent ConsolidationEvent → FleetPrompt webhook
FleetPrompt validates envelope + workspace_id
Verifies spec_hash via SpecPrompt registry
Atomic write: fleet.agents + fleet.manifests + search index
Success: Agent searchable within seconds; initial trust score assigned
Covers: FleetPrompt.PipelineIntake, CloudEvent.parse, Trust.compute_initial, atomic registry write — ~25 unit tests
UI status: mcp-only (internal admin feature)
Claude Design hook: Webhook config UI + event inspector (admin pane)
Persona: Team customizing a published agent
Goal: Create a private variant with provenance tracking
Prerequisite: Agent viewable; user in a workspace
Steps:
Click "Fork" on agent detail
Enter new name + description
System copies manifest with forked_from reference
Fork starts at trust_score=0 (independent chain)
Success: Fork visible in user's workspace; lineage preserved
Covers: Forks.create_fork, Registry.clone_with_provenance, Trust.reset_for_fork
UI status: planned
Claude Design hook: Fork dialog with parent-attribution banner
Tests to implement first (highest value): Story 1, Story 4 (crystallize — the dark-factory hero flow), Story 3.