Phase 5 — Device node NOC
Layer: Native ↔ Headless JS ↔ cloud ↔ native
The Matter device generates a CSR during pairDevice; RainMaker cloud signs a node operational certificate; CHIP installs it on the device. This loop runs while ChipToolCommissioningActivity may still be showing pairing progress (same Headless JS design as any path that uses ChipClient + EspNOCChainIssuer).
Call chain
Issue NOC failure
ESPMatterModule.handleHeadlessTaskResult("ISSUE_NOC", { success: false }) (logged; commission may time out).
What could go wrong
Cloud issueNodeNoC fails or Headless JS cannot authenticate → NOC never reaches ChipClient → CHIP commissioning times out. Network loss while the ChipTool activity is visible is common; Headless JS is intentional so cloud calls still run in a dedicated runtime.