Repository navigation
feat(approvals): overlay Jev aging suggestion on pending items - #506
Conversation
Aging overlay is copy-only (nudge / wait / discuss-close). Deterministic clock vs createdAt; expiry still uses existing helpers. Pending high stays visible in the rule-risk layer. No decision POST; click opens the item. #422
presentAgingQueue/agingNeedsAttention now rank GET /approvals without crossing the rule-risk layer. Flag-off lists keep original order. Package aging-overlay.js on the runtime allowlist. #422
|
复审 exact head Hosted checks 当前 11/11 全绿, 当前 GitHub 身份是作者,只做技术收口,不自批、不自合。 |
|
Independent technical recap (not an Approve). Author waterbro-8 is my identity — I will not Approve or merge. Exact head Named criteria
No blocker on aging boundary / sort / no-verdict. Residual: list latency bound to Laya. @Bindy-lbb @PeterGuy326 please independent-review this SHA. |
sun-970
left a comment
There was a problem hiding this comment.
Independent review of exact head 88ef0abf77e2e591cf1e0e978a7d4334a0e3eb1b. Not product验收. I am not merging.
Verify 11/11 green. Aging overlay on pending approvals, suggestion-only.
Technical APPROVE of this SHA.
|
Current live status: DIRTY against main. Please rebase after the foundational overlay/receipt changes are settled, preserve deterministic approval state as authority and Laya aging output as advisory only, rerun exact-head CI/security, then request re-review. Old approval cannot carry over conflict resolution. |
Resolve conflicts: - CHANGELOG.md: keep both sides (Unreleased entries from main plus the #466 entry). - ApprovalDetailDrawer.tsx was replaced by ApprovalDetail.tsx on main; port the optional Jev aging-overlay tag into the new detail component's meta row.
…etail component main replaced ApprovalDetailDrawer with ApprovalDetail; assert the new approval-detail testid and data-approval-id attribute instead.
npm audit --audit-level=high (the security:check step of npm run check) started failing on vite <= 6.4.3 due to GHSA-698v-4r3x-3vcv and related launch-editor advisories. Lock the dev-only vite entry to the 6.x patch release 6.4.4; no other dependency changes.
PeterGuy326
left a comment
There was a problem hiding this comment.
Re-reviewed after the conflict resolution push. Changes since the original approval: (1) merge of current main, resolving CHANGELOG by keeping both Unreleased entries and porting the aging-overlay tag into the new ApprovalDetail component that replaced ApprovalDetailDrawer on main; (2) test adaptation to the new approval-detail testid; (3) dev-only lockfile bump of vite to 6.4.4 to clear the npm audit high advisory (GHSA-698v-4r3x-3vcv) that broke the security:check step on every branch. Feature semantics unchanged: the aging overlay stays suggestion-only, payload is { createdAt, now, decision.kind, risk }, pending high is never hidden, clicking only opens the item. All 11 checks green.
Summary
Approval aging overlay on pending items.
createdAt; expired vs pending still use existing clock helpers.nudge/wait/discuss-closeis copy only.needsAttention=falsestays in the same rule-risk layer.GET /approvalsprojection; flag-off preserves original order.Verification
node --test apps/server/dist/test/approval-aging-overlay.test.js— 9/9approval-queue.test.tsx— 29/29Product tracking remains open: #422
Refs #466