[{"data":1,"prerenderedAt":391},["ShallowReactive",2],{"navigation":3,"\u002Fproduction-workflows\u002Fdut-capture-history":134,"\u002Fproduction-workflows\u002Fdut-capture-history-surround":386},[4,16,38,80,112,129],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Get started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-rocket",{"title":12,"path":13,"stem":14,"icon":15},"Your first station run","\u002Fgetting-started\u002Ffirst-run","1.getting-started\u002F2.first-run","i-lucide-play",{"title":17,"path":18,"stem":19,"children":20,"icon":22},"Core concepts","\u002Fcore-concepts","2.core-concepts\u002F1.index",[21,23,28,33],{"title":17,"path":18,"stem":19,"icon":22},"i-lucide-boxes",{"title":24,"path":25,"stem":26,"icon":27},"Projects and access","\u002Fcore-concepts\u002Fprojects-and-access","2.core-concepts\u002F2.projects-and-access","i-lucide-users",{"title":29,"path":30,"stem":31,"icon":32},"Roles and permissions","\u002Fcore-concepts\u002Froles-and-permissions","2.core-concepts\u002F3.roles-and-permissions","i-lucide-shield-check",{"title":34,"path":35,"stem":36,"icon":37},"Custom roles","\u002Fcore-concepts\u002Fcustom-roles","2.core-concepts\u002F4.custom-roles","i-lucide-user-cog",{"title":39,"path":40,"stem":41,"children":42,"icon":44},"Station runtime","\u002Fstation-runtime","3.station-runtime\u002F1.index",[43,45,50,55,60,65,70,75],{"title":39,"path":40,"stem":41,"icon":44},"i-lucide-circuit-board",{"title":46,"path":47,"stem":48,"icon":49},"Configure a station","\u002Fstation-runtime\u002Fconfiguration","3.station-runtime\u002F2.configuration","i-lucide-file-code-2",{"title":51,"path":52,"stem":53,"icon":54},"Custom stages","\u002Fstation-runtime\u002Fcustom-stages","3.station-runtime\u002F3.custom-stages","i-lucide-puzzle",{"title":56,"path":57,"stem":58,"icon":59},"Credentials and secrets","\u002Fstation-runtime\u002Fcredentials-and-secrets","3.station-runtime\u002F4.credentials-and-secrets","i-lucide-key-round",{"title":61,"path":62,"stem":63,"icon":64},"Multiple lanes","\u002Fstation-runtime\u002Fmultiple-lanes","3.station-runtime\u002F5.multiple-lanes","i-lucide-git-branch",{"title":66,"path":67,"stem":68,"icon":69},"Capture DUT values","\u002Fstation-runtime\u002Fcaptured-values","3.station-runtime\u002F6.captured-values","i-lucide-list-checks",{"title":71,"path":72,"stem":73,"icon":74},"Validate configuration","\u002Fstation-runtime\u002Fvalidation","3.station-runtime\u002F7.validation","i-lucide-file-check-2",{"title":76,"path":77,"stem":78,"icon":79},"Upgrade a station","\u002Fstation-runtime\u002Fupgrading","3.station-runtime\u002F8.upgrading","i-lucide-package-check",{"title":81,"path":82,"stem":83,"children":84,"icon":86},"Production workflows","\u002Fproduction-workflows","4.production-workflows\u002F1.index",[85,87,92,97,102,107],{"title":81,"path":82,"stem":83,"icon":86},"i-lucide-factory",{"title":88,"path":89,"stem":90,"icon":91},"Applications and firmware","\u002Fproduction-workflows\u002Ffirmware-images","4.production-workflows\u002F2.firmware-images","i-lucide-cpu",{"title":93,"path":94,"stem":95,"icon":96},"DUT records and IDs","\u002Fproduction-workflows\u002Fdut-records-and-ids","4.production-workflows\u002F3.dut-records-and-ids","i-lucide-scan-barcode",{"title":98,"path":99,"stem":100,"icon":101},"Results and logs","\u002Fproduction-workflows\u002Fresults-and-logs","4.production-workflows\u002F4.results-and-logs","i-lucide-chart-no-axes-combined",{"title":103,"path":104,"stem":105,"icon":106},"Operator kiosk","\u002Fproduction-workflows\u002Foperator-kiosk","4.production-workflows\u002F5.operator-kiosk","i-lucide-monitor",{"title":108,"path":109,"stem":110,"icon":111},"DUT capture history","\u002Fproduction-workflows\u002Fdut-capture-history","4.production-workflows\u002F6.dut-capture-history","i-lucide-history",{"title":113,"path":114,"stem":115,"children":116,"icon":118},"Reference","\u002Freference","5.reference\u002F1.index",[117,119,124],{"title":113,"path":114,"stem":115,"icon":118},"i-lucide-book-open",{"title":120,"path":121,"stem":122,"icon":123},"API access","\u002Freference\u002Fapi-access","5.reference\u002F2.api-access","i-lucide-braces",{"title":125,"path":126,"stem":127,"icon":128},"Troubleshooting","\u002Freference\u002Ftroubleshooting","5.reference\u002F3.troubleshooting","i-lucide-life-buoy",{"title":130,"path":131,"stem":132,"icon":133},"Changelog","\u002Fchangelog","6.changelog","i-lucide-scroll-text",{"id":135,"title":108,"body":136,"description":379,"extension":380,"links":381,"meta":382,"navigation":383,"path":109,"seo":384,"stem":110,"__hash__":385},"docs\u002F4.production-workflows\u002F6.dut-capture-history.md",{"type":137,"value":138,"toc":370},"minimark",[139,148,153,195,200,207,219,225,229,293,299,313,319,322,326,344,350,354,361,364],[140,141,142,143,147],"p",{},"HTF v0.1.4 stores selected DUT values from station runtime v0.3.0 as structured observations. Each observation identifies its source run, lane, stage\u002Fsubtest, timestamp, and configuration revision. This history is separate from the identifiers allocated by ",[144,145,146],"a",{"href":94},"ID pools",".",[149,150,152],"h2",{"id":151},"find-a-dut-and-its-reports","Find a DUT and its reports",[154,155,156,168,171,181,188],"ol",{},[157,158,159,160,164,165,147],"li",{},"Open the project's ",[161,162,163],"strong",{},"DUT records & IDs"," page and select ",[161,166,167],{},"DUT records",[157,169,170],{},"Search by DUT ID, hardware ID, IMEI, or SIM identifier. Search includes historical captured values, so an old IMEI can still locate a DUT after its current value changes.",[157,172,173,174,177,178,147],{},"Read ",[161,175,176],{},"Captured test data"," for the latest successful values, then select ",[161,179,180],{},"Test captures & reports",[157,182,183,184,187],{},"Inspect the observations and their sources. ",[161,185,186],{},"Unverified"," marks a value that did not come from a successfully verified source.",[157,189,190,191,194],{},"Select ",[161,192,193],{},"View report"," beside an observation to inspect that test's stages, captures, and warnings. Coordinated lane runs are combined in the report; full logs load on demand.",[140,196,197,198,147],{},"DUTs with captures appear even if they have no ID-pool assignment. Captured test values do not allocate or commit an ID. Access to captured data also does not grant access to reserved or committed pool values; see ",[144,199,29],{"href":30},[140,201,202],{},[203,204],"img",{"alt":205,"src":206},"Demo Sensor DUT summary with simulated captured values and a Changed badge beside the ICCID","\u002Fimages\u002Fproduct\u002F21-dut-capture-summary.png",[140,208,209,210,213,214,218],{},"The screenshots on this page use ",[161,211,212],{},"Demo Sensor"," with simulated data and no connected hardware. The DUT ",[215,216,217],"code",{},"SIM-DUT-0001"," passed its first test, then failed a voltage retest while its modem check passed with a different ICCID.",[140,220,221],{},[203,222],{"alt":223,"src":224},"Simulated DUT capture history showing both tests and the failed retest's voltage observation marked Unverified","\u002Fimages\u002Fproduct\u002F22-dut-capture-history.png",[149,226,228],{"id":227},"interpret-a-retest","Interpret a retest",[230,231,232,245],"table",{},[233,234,235],"thead",{},[236,237,238,242],"tr",{},[239,240,241],"th",{},"Retest result",[239,243,244],{},"Effect on the current DUT summary",[246,247,248,257,265,273,285],"tbody",{},[236,249,250,254],{},[251,252,253],"td",{},"A source successfully captures a value",[251,255,256],{},"Updates that field and its provenance. A verified subtest can contribute even if another subtest fails.",[236,258,259,262],{},[251,260,261],{},"A stage fails or is interrupted, and its captures inherit that outcome",[251,263,264],{},"Keeps those observations as unverified history; does not replace the successful summary.",[236,266,267,270],{},[251,268,269],{},"A field is omitted",[251,271,272],{},"Preserves the previous value.",[236,274,275,278],{},[251,276,277],{},"Hardware ID, IMEI, ICCID, or IMSI changes",[251,279,280,281,284],{},"Shows ",[161,282,283],{},"Changed"," and the previous different successful value.",[236,286,287,290],{},[251,288,289],{},"Model or firmware version changes",[251,291,292],{},"Retains history without an identifier change badge.",[140,294,295,296,298],{},"The ",[161,297,283],{}," badge records a historical identifier change. Equal retests do not clear it, and this release has no acknowledgement or reset action. Investigate the sources before treating a changed value as an expected component replacement.",[140,300,301,302,305,306,309,310,312],{},"In the simulated example, the summary keeps the successful voltage reading of ",[161,303,304],{},"3298 mV",". The failed retest's ",[161,307,308],{},"3050 mV"," remains in history as ",[161,311,186],{},". Its successfully verified modem values still update the summary, including the changed ICCID.",[140,314,315],{},[203,316],{"alt":317,"src":318},"Simulated failed retest report showing successful modem captures, the previous ICCID, an unverified voltage capture, and stage outcomes","\u002Fimages\u002Fproduct\u002F23-dut-test-report.png",[140,320,321],{},"Delayed delivery from an older run does not replace a newer summary. Conflicting sources remain in history for inspection. Existing console logs are not automatically converted to captures.",[149,323,325],{"id":324},"export-evidence","Export evidence",[140,327,190,328,331,332,335,336,339,340,343],{},[161,329,330],{},"Export CSV"," in a report to export its observations. The history dialog shows 50 observations per page; ",[161,333,334],{},"Export this page"," exports only the displayed page. Use ",[161,337,338],{},"Previous"," and ",[161,341,342],{},"Next"," to review further history.",[140,345,346,347,349],{},"Import identifier columns as text in spreadsheet tools to preserve leading zeros and long numbers. CSV cells beginning with formula characters are prefixed with an apostrophe; report JSON retains the original strings. ",[144,348,120],{"href":121}," covers reading structured reports without downloading raw logs.",[149,351,353],{"id":352},"diagnose-missing-captures","Diagnose missing captures",[140,355,356,357,360],{},"A valid hardware outcome can be stored even when a capture snapshot is rejected. Read ",[161,358,359],{},"Some data could not be captured"," in the report, then inspect the station's rejected envelope and reason. Correct the mapping or limit violation before running a new test; keep the original evidence.",[140,362,363],{},"Captures are retained independently of console-log retention. Deleting a run or station preserves the project's capture history and source IDs, so the history can remain after the original report becomes unavailable. Deleting the project removes its capture data.",[140,365,366,367,369],{},"See ",[144,368,66],{"href":67}," to add mappings or custom-stage captures and preserve report delivery across disconnects.",{"title":371,"searchDepth":372,"depth":373,"links":374},"",1,2,[375,376,377,378],{"id":151,"depth":373,"text":152},{"id":227,"depth":373,"text":228},{"id":324,"depth":373,"text":325},{"id":352,"depth":373,"text":353},"Search structured test values, inspect retests, and export captured DUT evidence.","md",null,{},{"icon":111},{"title":108,"description":379},"1ovpO_5yeWWC7XV4Fl3CMvQno6jcU2cvLaYKVzNOs4g",[387,389],{"title":103,"path":104,"stem":105,"description":388,"icon":106,"children":-1},"Set up a station-specific screen for a production jig.",{"title":113,"path":114,"stem":115,"description":390,"icon":118,"children":-1},"Find the station contract, common checks, and help resources.",1791170922914]