---
title: Runtime Story
description: 通过回执绑定的 Story Module Surface 跟踪一条业务流程。
---

Runtime Story 是一条相关业务流程的 Operator-readable Record。在当前产品模型
中，Story 由精确 `lenso/platform-story` Module Release 贡献，并由其
`console_ui_esm` Surface 在 Console 内渲染。

Story 不是顶级 Console Workspace、应用总分，也不是浏览器直连 Host 管理路由
的捷径。

## 组合所有权

Support Desk 产品验收通过仓库内的 Capability Pack 选择
`lenso/platform-story`。Runner 构建匹配的 Console Artifact，再把精确 Module
Release Digest、UI Artifact Digest、Contract Digest 与 Surface Grant 放入已连接
的 `lenso.system.v2` 拓扑。

只有这些身份与已连接应用回执一致时，Console 才会加载 Story Surface。UI
Build、Module Release 或 Business API Contract 发生变化后，需要重新生成匹配的
组合与连接。

## 浏览器边界

Story Surface 使用注入的 Typed Host API，并通过同源 Surface Gateway 调用生成
客户端：

```text
Story console_ui_esm Surface
  -> generated client
  -> Console Surface Gateway
  -> declared Story Business API
```

每个请求中，Console Service 都会重新校验：

- 已认证 Console Actor；
- 精确已连接 System；
- Module 与 Module Release Identity；
- UI Artifact 与 Contract Digest；
- Surface Grant 允许的 Operation ID；
- 目标 Module 授权。

Service Bearer Token 留在服务端。浏览器不会获得 Service Credential，也不会
获得任意访问记录的通用 Endpoint。

## Story 显示什么

Story 按稳定 Correlation 与 Causation Identity 对记录分组。Surface 可以展示：

- 业务标题与直接状态；
- Policy 允许的发起 Actor 与 Tenant Context；
- 相关 Module、Service、Event、Function 与 Workflow Node；
- 因果 Edge 与按时间排序的 Activity；
- 直接 Failure 细节，而不创建第二套应用总分。

技术日志与 Trace 仍由其运行时持有。Story 连接业务流程，但不会取代这些工具，
也不会重新定义 Service 所有权。

## 创作建议

Module Author 应当：

- 保持 Business Operation ID 与 Capability Name 稳定；
- 为面向用户的 Operation 提供清晰 Display Name；
- 传播 Actor、Tenant、Correlation、Causation、Deadline 与 Trace Context；
- 使用声明的 Event、Function 或 Workflow 承载后续工作；
- 不在 Story Record 中写入 Secret、Token 或敏感 Payload。

Provider Tier 仍由 Host 持有，可使用 Rust 或 TypeScript。Autonomous Service
持有其 Rust Runtime 与 Store，并通过 Direct HTTP/gRPC、Event Contract 或
Durable Workflow 传播同样受限的 Context。参见
[Service Capability Tiers](/docs/zh/autonomous-services)。

## 连接状态与运行状态

Story Module 与 Surface 的 Connection Projection 可以是 `connected`、
`unavailable`、`incompatible` 或 `unmanaged`，并带有直接原因。Workload
Operational State 是独立维度。

Console 或 Story Surface 不可用时，只影响该视图；已建立的业务执行仍在所属
Host 或 Autonomous Service 中继续。Console 不会成为 Data Plane 依赖。

## 产品级验收

从 `lenso-examples` 运行产品级黑盒路径：

```sh
pnpm acceptance:support-desk
```

真实浏览器无需手工启用即可加载 Support Ticket 与 Story Surface，通过 Surface
Gateway 执行 Ticket Operation，并校验精确 Receipt、Actor、Tenant、Contract 与
Operation Identity 在整个流程中保持绑定。

System 连接与 Surface 加载参见 [Lenso Console](/docs/zh/runtime-console)；Artifact
创作参见 [Module Console UI](/docs/zh/console-packages)。
