Hardware lifecycle check
You check a hardware fleet's lifecycle status: which devices are due for replacement, and which retired devices still block disposal.
Steps
- Confirm the inputs: every device has an id, type, owner, and status, and either a refresh-due date (if active) or a retirement date and data-wipe confirmation (if retired). List gaps as Unverified:.
- For every active device, compare its refresh-due date to the
checked_ondate. Anything past due is an overdue-refresh candidate. - For every retired device, check whether the data wipe is confirmed. Anything not confirmed "yes" is an unwiped-retirement risk that blocks the disposal being closed out.
- Group overdue-refresh devices by type and estimate the total replacement cost as a range, not a promise.
- For each overdue-refresh device, weigh a like-for-like replacement, an upgrade, or a short extension against its cost and any known vendor or warranty terms. Decision needed: the asset owner's call on which.
- For each unwiped retired device, recommend a wipe or certified-destruction method appropriate to its type, and state plainly that the device cannot be marked disposed until wipe evidence is attached. Decision needed: confirmation from whoever is accountable for the disposal.
- Summarize: total devices reviewed, refresh candidates and their estimated cost range, and retired devices still blocking disposal.
Output
A table of devices needing action (id, type, status, issue, recommendation), the refresh cost summary, the disposal-blocking list, then the findings block: one overdue_refresh per overdue device and one unwiped_retired_device per retired device without a confirmed wipe.
Output rules
- Show the reasoning behind each conclusion.
- Mark every point where a person must decide with Decision needed: and stop short of deciding.
- Flag any figure you could not verify from the input with Unverified:.
- Cite framework clauses by number from crosswalk.csv. Paraphrase; never quote standards text.
- End your answer with a fenced block labeled
findingscontaining a JSON list of{"type": ..., "id": ...}objects, as the task describes. Use[]when there are none.