Replace the monolithic useQueryToolData composable and nested Vue component tree with a modular architecture: useLotResolve, useLotLineage, useLotDetail, and useEquipmentQuery. Introduce ECharts TreeChart (LR orthogonal layout) for lot lineage visualization with multi-select support, subtree expansion, zoom/pan, and serial number normalization. Add unified LineageEngine backend with split descendant traversal and leaf serial number queries. Archive the query-tool-rewrite openspec change and sync delta specs to main. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17 lines
948 B
Markdown
17 lines
948 B
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: query-tool lineage tab SHALL load on-demand
|
|
The query-tool lineage tree SHALL auto-fire lineage API calls after lot resolution with concurrency-limited parallel requests and progressive rendering, while preserving on-demand expand/collapse for tree navigation.
|
|
|
|
#### Scenario: Auto-fire lineage after resolve
|
|
- **WHEN** lot resolution completes with N resolved lots
|
|
- **THEN** lineage SHALL be fetched via `POST /api/trace/lineage` for each lot automatically
|
|
- **THEN** concurrent requests SHALL be limited to 3 at a time to respect rate limits (10/60s)
|
|
- **THEN** response time SHALL be ≤3s per individual lot
|
|
|
|
#### Scenario: Multiple lots lineage results cached
|
|
- **WHEN** lineage data has been fetched for multiple lots
|
|
- **THEN** each lot's lineage data SHALL be preserved independently (not re-fetched)
|
|
- **WHEN** a new resolve query is executed
|
|
- **THEN** all cached lineage data SHALL be cleared
|