Files
one-pipe-system/openspec/changes/update-asset-sync-status-trail/specs/asset-information/spec.md
luo 6febc66eca
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m35s
feat: 资产同步状态与同步轨迹入口-新
2026-07-21 11:50:47 +08:00

74 lines
3.5 KiB
Markdown

## ADDED Requirements
### Requirement: Existing Asset Sync Controls and Polling Display
The asset information page SHALL preserve the existing manual refresh control and existing polling status display for both card and device assets. The page MUST NOT add another synchronization or refresh control.
#### Scenario: Retain existing controls for a card asset
- **GIVEN** 用户正在查看卡资产信息页
- **THEN** 页面 MUST 保留现有手动刷新按钮和现有轮询状态展示
- **AND** 页面 MUST NOT 增加第二个同步或刷新按钮
#### Scenario: Retain existing controls for a device asset
- **GIVEN** 用户正在查看设备资产信息页
- **THEN** 页面 MUST 保留现有手动刷新按钮和现有轮询状态展示
- **AND** 页面 MUST NOT 增加第二个同步或刷新按钮
#### Scenario: Do not display new polling activity fields
- **GIVEN** 用户正在查看卡或设备资产信息页
- **WHEN** 资产解析响应包含 `activity_level``last_activity_scene``next_poll_at`
- **THEN** 页面 MUST NOT 展示活跃级别、最后活跃场景或下次轮询时间字段
### Requirement: Asset Manual Refresh Remains the Only Refresh Entry
The asset information page SHALL preserve the existing manual refresh button and interface contract as the only asset refresh entry. The frontend MUST NOT infer or display a future periodic polling time from refresh results or event traces.
#### Scenario: Preserve existing manual refresh behavior
- **WHEN** 用户在资产信息页发起手动刷新
- **THEN** 系统 MUST 调用现有手动刷新接口
- **AND** 页面 MUST NOT 新增第二个同步或刷新按钮
#### Scenario: Show rate limited result without countdown
- **WHEN** 手动刷新请求返回 `rate_limited` 或等价限流失败结果
- **THEN** 系统 MUST 仅展示本次请求失败信息
- **AND** 系统 MUST NOT 展示自动退避倒计时
#### Scenario: Do not infer a future polling schedule
- **WHEN** 用户查看刷新结果或同步事件轨迹
- **THEN** 前端 MUST NOT 根据结果推算或展示新的周期轮询时间
### Requirement: Asset Sync Trail Navigation
The asset information page SHALL provide a `查看同步轨迹` entry that navigates to the global audit integration page with filters for the current asset. The target audit query contract SHALL support `resource_type`, `resource_key`, and `correlation_id` filters.
#### Scenario: Navigate to filtered sync trail from a card asset
- **GIVEN** 用户正在查看卡资产信息页
- **WHEN** 用户点击“查看同步轨迹”
- **THEN** 系统 MUST 跳转到全局审计外部集成页
- **AND** 跳转参数 MUST 带入当前卡资产对应的 `resource_type``resource_key` 筛选信息
#### Scenario: Navigate to filtered sync trail from a device asset
- **GIVEN** 用户正在查看设备资产信息页
- **WHEN** 用户点击“查看同步轨迹”
- **THEN** 系统 MUST 跳转到全局审计外部集成页
- **AND** 跳转参数 MUST 带入当前设备资产对应的 `resource_type``resource_key` 筛选信息
#### Scenario: Audit query filters a correlation group
- **WHEN** 全局审计外部集成页按一次业务事件的 `correlation_id` 查询同步轨迹
- **THEN** 审计查询契约 MUST 支持该筛选参数
#### Scenario: Audit target page is outside this change
- **WHEN** 本次变更落地
- **THEN** 资产信息页的同步轨迹跳转入口 MUST 可用
- **AND** 全局审计外部集成页面的加载、空记录和失败状态界面 MUST NOT 被要求在本提案中开发或改造