Files
DashBoard/openspec/changes/reject-history-query-page/specs/unified-shell-route-coverage/spec.md
egg 248cbc25e0 fix(query-tool): batch detail loading, UX polish, and docs cleanup
- Fix multi-WO display: auto-select all tree roots after resolve so detail
  panel loads data for every work order, not just the first seed CID
- Disable scroll-wheel zoom on lineage tree (roam: 'move') to prevent
  accidental layout jumps while preserving drag-pan
- Add batch API endpoints (get_lot_history_batch, get_lot_associations_batch)
  to avoid N parallel requests hitting rate limits
- Remove redundant Split sub-tab from LOT detail (tree already shows splits)
- Rename 退貨 → 報廢 to match actual reject/scrap data semantics
- Hide internal ID columns (CONTAINERID, EQUIPMENTID, RESOURCEID) from
  history table display
- Add timeline scroll container and time range header for long timelines
- Remove obsolete migration and architecture docs no longer needed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 17:42:11 +08:00

1.3 KiB

ADDED Requirements

Requirement: Reject History route SHALL be included in governed shell route inventory

The /reject-history route SHALL be represented in shell route contracts with complete governance metadata.

Scenario: Frontend route contract entry

  • WHEN route contract validation runs against frontend/src/portal-shell/routeContracts.js
  • THEN /reject-history SHALL exist with route id, title, owner, render mode, visibility policy, scope, and compatibility policy

Scenario: Native loader coverage

  • WHEN native module loader registry is validated
  • THEN /reject-history SHALL be resolvable in nativeModuleRegistry

Requirement: Reject History governance metadata SHALL be parity-validated across sources

Shell governance checks SHALL enforce parity for /reject-history between frontend and backend contract inventories.

Scenario: Contract parity for reject-history route

  • WHEN contract parity checks execute
  • THEN frontend and backend route inventories SHALL both include /reject-history
  • THEN metadata mismatch or missing route SHALL fail governance checks

Scenario: Navigation visibility governance

  • WHEN page status/navigation config is evaluated
  • THEN /reject-history SHALL have governed drawer assignment and ordering metadata