[{"data":1,"prerenderedAt":267},["ShallowReactive",2],{"navigation":3,"\u002Fcore-concepts":99,"\u002Fcore-concepts-surround":262},[4,16,28,55,82],{"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],{"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,"children":32,"icon":34},"Station runtime","\u002Fstation-runtime","3.station-runtime\u002F1.index",[33,35,40,45,50],{"title":29,"path":30,"stem":31,"icon":34},"i-lucide-circuit-board",{"title":36,"path":37,"stem":38,"icon":39},"Configure a station","\u002Fstation-runtime\u002Fconfiguration","3.station-runtime\u002F2.configuration","i-lucide-file-code-2",{"title":41,"path":42,"stem":43,"icon":44},"Custom stages","\u002Fstation-runtime\u002Fcustom-stages","3.station-runtime\u002F3.custom-stages","i-lucide-puzzle",{"title":46,"path":47,"stem":48,"icon":49},"Credentials and secrets","\u002Fstation-runtime\u002Fcredentials-and-secrets","3.station-runtime\u002F4.credentials-and-secrets","i-lucide-key-round",{"title":51,"path":52,"stem":53,"icon":54},"Multiple lanes","\u002Fstation-runtime\u002Fmultiple-lanes","3.station-runtime\u002F5.multiple-lanes","i-lucide-git-branch",{"title":56,"path":57,"stem":58,"children":59,"icon":61},"Production workflows","\u002Fproduction-workflows","4.production-workflows\u002F1.index",[60,62,67,72,77],{"title":56,"path":57,"stem":58,"icon":61},"i-lucide-factory",{"title":63,"path":64,"stem":65,"icon":66},"Applications and firmware","\u002Fproduction-workflows\u002Ffirmware-images","4.production-workflows\u002F2.firmware-images","i-lucide-cpu",{"title":68,"path":69,"stem":70,"icon":71},"DUT records and IDs","\u002Fproduction-workflows\u002Fdut-records-and-ids","4.production-workflows\u002F3.dut-records-and-ids","i-lucide-scan-barcode",{"title":73,"path":74,"stem":75,"icon":76},"Results and logs","\u002Fproduction-workflows\u002Fresults-and-logs","4.production-workflows\u002F4.results-and-logs","i-lucide-chart-no-axes-combined",{"title":78,"path":79,"stem":80,"icon":81},"Operator kiosk","\u002Fproduction-workflows\u002Foperator-kiosk","4.production-workflows\u002F5.operator-kiosk","i-lucide-monitor",{"title":83,"path":84,"stem":85,"children":86,"icon":88},"Reference","\u002Freference","5.reference\u002F1.index",[87,89,94],{"title":83,"path":84,"stem":85,"icon":88},"i-lucide-book-open",{"title":90,"path":91,"stem":92,"icon":93},"API access","\u002Freference\u002Fapi-access","5.reference\u002F2.api-access","i-lucide-braces",{"title":95,"path":96,"stem":97,"icon":98},"Troubleshooting","\u002Freference\u002Ftroubleshooting","5.reference\u002F3.troubleshooting","i-lucide-life-buoy",{"id":100,"title":17,"body":101,"description":255,"extension":256,"links":257,"meta":258,"navigation":259,"path":18,"seo":260,"stem":19,"__hash__":261},"docs\u002F2.core-concepts\u002F1.index.md",{"type":102,"value":103,"toc":248},"minimark",[104,108,199,204,220,223,227],[105,106,107],"p",{},"HTF separates test execution at the jig from oversight in the application. These are the main pieces you will work with.",[109,110,111,124],"table",{},[112,113,114],"thead",{},[115,116,117,121],"tr",{},[118,119,120],"th",{},"Term",[118,122,123],{},"Meaning",[125,126,127,139,149,159,169,179,189],"tbody",{},[115,128,129,136],{},[130,131,132],"td",{},[133,134,135],"strong",{},"Organisation",[130,137,138],{},"The team and access boundary for people, projects, and stations.",[115,140,141,146],{},[130,142,143],{},[133,144,145],{},"Project",[130,147,148],{},"A product line or test programme. Projects group stations, firmware images, DUT records, and results.",[115,150,151,156],{},[130,152,153],{},[133,154,155],{},"Station",[130,157,158],{},"A provisioned test jig with its own identity, credentials, status, and run history.",[115,160,161,166],{},[130,162,163],{},[133,164,165],{},"Run plan",[130,167,168],{},"The ordered stages and settings that tell the station what to do for a DUT.",[115,170,171,176],{},[130,172,173],{},[133,174,175],{},"DUT",[130,177,178],{},"The device under test, identified by the ID supplied for a run.",[115,180,181,186],{},[130,182,183],{},[133,184,185],{},"Stage",[130,187,188],{},"A unit of work such as erasing, flashing, validating, or calling a service.",[115,190,191,196],{},[130,192,193],{},[133,194,195],{},"Run",[130,197,198],{},"One execution of a plan for a DUT, with an outcome, stage results, events, and logs.",[200,201,203],"h2",{"id":202},"how-a-run-moves-through-htf","How a run moves through HTF",[205,206,207,211,214,217],"ol",{},[208,209,210],"li",{},"An operator or service starts a run for a station and DUT.",[208,212,213],{},"HTF sends the run command to the connected station over MQTT.",[208,215,216],{},"The Python runtime executes the configured stages and reports progress, logs, and results.",[208,218,219],{},"The application stores the result so the team can inspect the run later.",[105,221,222],{},"Station identities are separate from human users. Each station has its own credentials and can access its own station operations. Human access is managed through organisation, project, and station permissions.",[200,224,226],{"id":225},"where-to-go-next","Where to go next",[228,229,230,237,243],"ul",{},[208,231,232,236],{},[233,234,235],"a",{"href":37},"Station configuration"," explains the YAML plan and stage types.",[208,238,239,242],{},[233,240,241],{"href":74},"Run results and logs"," shows how to investigate failures.",[208,244,245,247],{},[233,246,68],{"href":69}," covers production identifiers.",{"title":249,"searchDepth":250,"depth":251,"links":252},"",1,2,[253,254],{"id":202,"depth":251,"text":203},{"id":225,"depth":251,"text":226},"Understand the main objects and data flow in Embeint HTF.","md",null,{},{"icon":22},{"title":17,"description":255},"zJe5slbgdjFbiecu3GhGQyMzFRTyslud1z99vBYgoTk",[263,265],{"title":12,"path":13,"stem":14,"description":264,"icon":15,"children":-1},"Create a station, install its certificate and keys, add a demo secret, and run a DUT.",{"title":24,"path":25,"stem":26,"description":266,"icon":27,"children":-1},"Organise product lines, stations, and team permissions.",1790376318215]