Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions 10-prd/behavior/capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,9 @@
切换只改变后续交互的当前目标,不迁移或合并信息库,也不把已经绑定目标的待办或持续收入任务
改投新库。前台内容须与当前连接一致,不能把旧连接的结果显示为新库内容。后台任务是否继续执行
由对应能力的生命周期约定决定;切换不能被当作取消旧任务的操作。

## 能力:理解运行与诊断问题

- 使用者通过统一观测记录理解执行过程、定位异常并返回业务对象。
- 内置与外部存储对采集和查询调用方保持相同语义,Web 提供共同的筛选与关联体验。
- 行为与范围由 [可观测性](observability.md) 拥有;观测记录不取得业务状态或完整审计的权威。
23 changes: 23 additions & 0 deletions 10-prd/behavior/observability.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 理解运行与诊断问题

使用者需要知道工作是否开始、在哪个执行者上运行、何时结束,以及哪里出现问题。观测界面应能从一个 Job、Peer 或关联标识展开对应记录,也能从近期异常回到业务对象;业务对象的状态仍由业务数据决定。

## 统一基建

未配置外部观测存储时,记录存入内置信息库,并从同一存储读取。部署选择外部后端后,采集和查询使用该后端。业务生产者、普通库消费者和界面调用者不需要识别供应商或自行选择不同的查询逻辑。

后端选择不授予内容外发权限。默认记录运行阶段、结果类别、时长和关联身份等元数据;详细内容采集需要自己的明确配置。可观测性故障不改变业务成功、失败或重试语义;记录可能丢失,因此观测系统不能成为完整审计账本。

## Web 观测视图

工作区提供时间范围、严重度、记录种类、业务身份和文本筛选,展示记录详情与关联执行时间线。Job 页面使用同一查询能力,不另建只查特定存储的日志入口。用户可以检查当前后端与能力状态,区分配置存在、采集启用和查询可用。

空记录、查询失败、窗口被截断和历史不在当前后端是不同事实。页面不把加载失败显示成“没有日志”,不把当前窗口中的数量或时长概况标成整个部署的统计,不把缺失时长或用量显示成零。

历史成功 Job 没有记录时,保留其真实业务状态和时间,并说明没有观测记录;不得根据状态生成看似当时采集的日志。切换后端不会自动迁移或删除历史,界面说明只查询当前选中的存储。

## 范围与演进

基建和视图围绕同一记录、过滤、关联和错误语义演进。首次交付覆盖结构化日志、运行事件和操作摘要;标准分布式 Trace、指标导出仍可作为独立能力使用。操作摘要不冒充完整 Span 树;抽样或有界查询不承诺全量指标、账单、告警或确定性回放。

后端支持范围由实现明确列出,不能把“能够接收导出”描述成“能够查询”。新增后端需要实际写入和读取的双向映射,而不是要求使用者在界面添加供应商判断。跨实现合同见 [可观测性契约](../../20-product-tdd/observability-contract.md)。
4 changes: 4 additions & 0 deletions 10-prd/behavior/workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,7 @@
- normal flow: a versioned product adapter maps the request to memo-family graph commands; successful primary mutation is persisted, and native reads are rebuilt from resolver output
- exception flow: unsupported protocol behavior or unresolved graph meaning fails explicitly; a failed or partially cleaned command may leave documented graph residue without claiming complete-server compatibility
- observable outcome: the client observes a compatible result and the memo remains represented only by blocks, relations, and storage-backed actual content in the info-base

## 流程:从异常或业务执行进入观测

用户从近期异常、Job 或 Peer 进入观测工作区,限定时间与关联身份,阅读记录和操作摘要,必要时缩窄被截断的窗口。界面明确展示读取失败、当前存储和历史范围,返回业务对象时沿用该对象的真实状态。具体行为见 [可观测性](observability.md)。
1 change: 1 addition & 0 deletions 10-prd/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ This package records shared product truth for InKCre: product purpose, observabl
- `behavior/workflows.md`
- `behavior/rules-and-invariants.md`
- `behavior/scope.md`
- `behavior/observability.md`
- domain structure:
- `domain-structure/derived-boundaries.md`
- `domain-structure/cross-domain-interactions.md`
Expand Down
2 changes: 1 addition & 1 deletion 20-product-tdd/core-app-boundary.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Core 可以执行 I/O、持有缓存和运行任务,也可以直接使用其
| Extension Host | 可复用加载/启停机制、兼容性检查、注册与释放规则,可独立选用 | 第一方分发组合、进程内安装/重启策略、平台资源和 UI 挂载 |
| 具体业务 | 已由产品确立的通用领域能力可按需提供;不强制各语言实现同样广度 | Capture、Mail、Local Files 等具体业务由相应扩展拥有 |
| 凭据与连接 | 接受明确配置与凭据;执行认证;有实际复用价值的凭据/连接持久化可以直接作为库能力 | 应用环境读取、当前选中连接、表单与授权交互政策 |
| 可观测性 | 传播上下文、记录库操作的事件;遵守既有内容边界 | 安装 exporter、选择目的地和资源预算、管理进程观测生命周期 |
| 可观测性 | 传播上下文、规范化事件、查询与存储机制;遵守既有内容边界 | 选择后端、持有私密凭据、安装 exporter、设置资源预算并管理生命周期 |
| 运维与发布 | 声明需要的协议范围;提供普通运行所需的协议类型 | 数据库初始化/升级、部署、打包、签名、公证与服务启动 |

产品架构只规定 Core/App 的消费方向,并保留 Extension 的业务所有权,不增加统一的“平台适配层”。代码使用平台 API 本身不是归属判据:数据库驱动、Keychain 或浏览器存储可以实现一项有用的库能力;它们是否进入 core,取决于公开用途、依赖代价和支持的平台。
Expand Down
Loading
Loading