Index of /trouble_shoot_guide//troubleshoot_html/_structured/

NameLast ModifiedSize
UpParent Directory
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- SEO-ADD:v1 --> <title>_structured/ — Machine-Readable Diagnostic Data | Welder Repair Guide</title> <meta name="description" content="This directory holds the structured (JSON) data sources that power the interactive Fault-Finding Wizard. The markdown corpus remains the long-form reference…"> <meta name="keywords" content="_structured/ — machine-readable diagnostic data, welder repair guide, welding machine repair, welding machine troubleshooting, welder troubleshooting, plasma cutter repair, plasma cutter troubleshooting, welding equipment diagnostics"> <meta name="robots" content="index, follow"> <meta name="author" content="Welder Repair Guide"> <link rel="canonical" href="https://kickinghorsewelders.ca/trouble_shoot_guide/troubleshoot_html/_structured/README.html"> <meta property="og:type" content="website"> <meta property="og:site_name" content="Welder Repair Guide"> <meta property="og:title" content="_structured/ — Machine-Readable Diagnostic Data | Welder Repair Guide"> <meta property="og:description" content="This directory holds the structured (JSON) data sources that power the interactive Fault-Finding Wizard. The markdown corpus remains the long-form reference…"> <meta property="og:url" content="https://kickinghorsewelders.ca/trouble_shoot_guide/troubleshoot_html/_structured/README.html"> <meta property="og:locale" content="en_US"> <meta name="twitter:card" content="summary"> <meta name="twitter:title" content="_structured/ — Machine-Readable Diagnostic Data | Welder Repair Guide"> <meta name="twitter:description" content="This directory holds the structured (JSON) data sources that power the interactive Fault-Finding Wizard. The markdown corpus remains the long-form reference…"> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","name":"_structured/ — Machine-Readable Diagnostic Data | Welder Repair Guide","description":"This directory holds the structured (JSON) data sources that power the interactive Fault-Finding Wizard. The markdown corpus remains the long-form reference…","keywords":"_structured/ — machine-readable diagnostic data, welder repair guide, welding machine repair, welding machine troubleshooting, welder troubleshooting, plasma cutter repair, plasma cutter troubleshooting, welding equipment diagnostics","inLanguage":"en","mainEntityOfPage":{"@type":"WebPage","@id":"https://kickinghorsewelders.ca/trouble_shoot_guide/troubleshoot_html/_structured/README.html"},"publisher":{"@type":"Organization","name":"Welder Repair Guide"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Welder Repair Guide","item":"https://kickinghorsewelders.ca/trouble_shoot_guide/welder_repair_guide.html"},{"@type":"ListItem","position":2,"name":"_structured/ — Machine-Readable Diagnostic Data"}]}]}</script> <!-- /SEO-ADD:v1 --> <style> body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; max-width: 960px; margin: 0 auto; padding: 1.5rem; line-height: 1.6; color: #222; background: #fff; } h1, h2, h3, h4 { line-height: 1.25; margin-top: 1.6em; } h1 { border-bottom: 2px solid #ddd; padding-bottom: .3em; } h2 { border-bottom: 1px solid #eee; padding-bottom: .2em; } table { border-collapse: collapse; width: 100%; margin: 1em 0; } th, td { border: 1px solid #ccc; padding: .4em .6em; text-align: left; vertical-align: top; } th { background: #f5f5f5; } code { background: #f4f4f4; padding: .1em .3em; border-radius: 3px; font-size: .92em; } pre { background: #f6f8fa; padding: .8em; border-radius: 6px; overflow-x: auto; } pre code { background: none; padding: 0; } blockquote { border-left: 4px solid #ddd; margin-left: 0; padding-left: 1em; color: #555; } img { max-width: 100%; height: auto; } hr { border: none; border-top: 1px solid #eee; margin: 2em 0; } a { color: #0645ad; } .ts-nav { font-size: .85em; color: #777; margin-bottom: 1em; } .ts-nav a { color: #777; } </style> </head> <body> <nav class="ts-nav" aria-label="Breadcrumb"><a href="../../welder_repair_guide.html">Welder Repair Guide</a> › _structured/ — Machine-Readable Diagnostic Data</nav><h1>_structured/ — Machine-Readable Diagnostic Data</h1> <p>This directory holds the structured (JSON) data sources that power the interactive Fault-Finding Wizard. The markdown corpus remains the long-form reference layer; these JSON trees <strong>link into</strong> the markdown docs, they do not replace them.</p> <p><code>build.ps1</code> validates every file here and compiles them into <code>data/fault-trees.js</code> (<code>window.TS_FAULT_TREES</code>). The build <strong>fails loudly</strong> on any schema violation, so a broken tree can never ship silently.</p> <h2>Fault-tree file</h2> <p>One file per tree in <code>fault-trees/</code>, named <code>&lt;brandSlug&gt;-&lt;modelSlug&gt;.json</code> (e.g. <code>kickinghorse-a100.json</code>) or <code>_&lt;family&gt;.json</code> for generic family trees (e.g. <code>_generic-inverter.json</code>).</p> <pre><code class="language-json">{ &quot;id&quot;: &quot;kickinghorse/a100&quot;, &quot;title&quot;: &quot;KickingHorse A100&quot;, &quot;family&quot;: &quot;stick-inverter&quot;, &quot;entries&quot;: { &quot;dead&quot;: &quot;dead-input&quot;, &quot;no-output&quot;: &quot;ocv-check&quot; }, &quot;nodes&quot;: { &quot;ocv-check&quot;: { &quot;type&quot;: &quot;measurement&quot;, &quot;prompt&quot;: &quot;Measure OCV across the output studs.&quot;, &quot;hint&quot;: &quot;Machine powered, no arc attempted.&quot;, &quot;meter&quot;: &quot;DCV, 200 V range&quot;, &quot;expect&quot;: &quot;about mid-80 V class OCV&quot;, &quot;valueClass&quot;: &quot;model&quot;, &quot;source&quot;: &quot;measurement-cards/kickinghorse/a100-measurement-card.md&quot;, &quot;stopRule&quot;: &quot;Output studs are live whenever the machine is on.&quot;, &quot;branches&quot;: [ { &quot;label&quot;: &quot;In range&quot;, &quot;next&quot;: &quot;external-path&quot; }, { &quot;label&quot;: &quot;Zero or very low&quot;, &quot;next&quot;: &quot;igbt-branch&quot; } ] }, &quot;igbt-branch&quot;: { &quot;type&quot;: &quot;terminal&quot;, &quot;cause&quot;: &quot;Output or IGBT branch&quot;, &quot;action&quot;: &quot;Follow the board-opening-map output/IGBT branch.&quot;, &quot;stopRule&quot;: &quot;Discharge bus caps before touching the primary side.&quot;, &quot;docs&quot;: [&quot;board-opening-maps/kickinghorse/a100-board-opening-map.md&quot;] } } } </code></pre> <h3>Top-level fields</h3> <table> <thead> <tr> <th>Field</th> <th>Required</th> <th>Meaning</th> </tr> </thead> <tbody> <tr> <td><code>id</code></td> <td>yes</td> <td><code>&lt;brandSlug&gt;/&lt;modelSlug&gt;</code> (must match the catalog) or <code>generic/&lt;family&gt;</code></td> </tr> <tr> <td><code>title</code></td> <td>yes</td> <td>Display name shown in the wizard header</td> </tr> <tr> <td><code>family</code></td> <td>yes</td> <td>Free-form family tag (<code>stick-inverter</code>, <code>mig</code>, <code>tig-hf</code>, <code>plasma</code>, <code>engine-driven</code>)</td> </tr> <tr> <td><code>entries</code></td> <td>yes</td> <td>Map of symptom slug → starting node id. Every value must exist in <code>nodes</code>. Canonical symptom slugs: <code>dead</code>, <code>no-output</code>, <code>weak-output</code>, <code>thermal</code>, <code>wire-feed</code>, <code>hf-start</code>. A tree may define any subset, plus model-specific extras (e.g. <code>blinking-light</code>).</td> </tr> <tr> <td><code>nodes</code></td> <td>yes</td> <td>Map of node id → node object. Node ids are kebab-case, unique within the file.</td> </tr> </tbody> </table> <h3>Node types</h3> <p><strong><code>question</code></strong> — a yes/no or multi-choice observation. Requires: <code>prompt</code>, <code>branches</code> (≥2). Optional: <code>hint</code>, <code>stopRule</code>.</p> <p><strong><code>measurement</code></strong> — a physical measurement with a pass/fail verdict. Requires: <code>prompt</code>, <code>meter</code>, <code>expect</code>, <code>branches</code> (≥2). Optional: <code>hint</code>, <code>valueClass</code>, <code>source</code>, <code>stopRule</code>.</p> <p><strong><code>terminal</code></strong> — a conclusion. Requires: <code>cause</code>, <code>action</code>. Optional: <code>stopRule</code>, <code>docs</code> (array of corpus-relative <code>.md</code> paths, rendered as chips), <code>branches</code> <strong>not allowed</strong>.</p> <h3>Field rules</h3> <ul> <li><code>branches[]</code>: each item needs <code>label</code> (button text, keep ≤ 5 words) and <code>next</code> (must resolve to a node in the same file). Converging branches (multiple parents → same node) are encouraged — trees are graphs, not strict trees.</li> <li><code>valueClass</code>: <code>&quot;model&quot;</code> = value quoted from the model's own corpus docs (measurement card, guide). <code>&quot;universal&quot;</code> = industry-standard value not in the corpus (e.g. &quot;fan supply 12/24 V DC&quot;, &quot;IGBT gate–emitter 10–47 kΩ&quot;). The UI badges universal values differently. <strong>Never invent model-specific values</strong> — if the corpus does not state a number, use a universal value or describe the healthy behavior in words.</li> <li><code>meter</code>: meter setting in plain words (<code>&quot;DCV, 200 V range&quot;</code>, <code>&quot;diode mode&quot;</code>, <code>&quot;ACV, 250 V range&quot;</code>). The corpus does not specify meter settings; standard-practice settings are understood to be universal-class additions.</li> <li><code>source</code>: corpus-relative path of the doc the node's value/expectation came from. Strongly encouraged on every measurement node.</li> <li><code>stopRule</code>: safety or &quot;stop and go external&quot; rule shown as a banner on that node. Pull these from the router/measurement-card Stop Rules sections.</li> <li>Every terminal <code>action</code> should end the path in <strong>≤ 5 decisions from any entry</strong> — author to that budget.</li> </ul> <h3>Validation (build.ps1 enforces)</h3> <ol> <li>File parses as JSON.</li> <li><code>id</code>, <code>title</code>, <code>family</code>, <code>entries</code>, <code>nodes</code> present.</li> <li>Every <code>entries</code> value and every <code>branches[].next</code> resolves to an existing node.</li> <li>Node <code>type</code> is <code>question</code> | <code>measurement</code> | <code>terminal</code>; required fields per type present.</li> <li><code>terminal</code> nodes have no <code>branches</code>; non-terminal nodes have ≥ 2 branches.</li> <li>Every node is reachable from at least one entry (no orphan nodes).</li> </ol> <h2>Authoring workflow</h2> <ol> <li>Read the model's fault-workflow router (complaint order + stop rules) and measurement card (checkpoints + healthy expectations). The guide's fast-triage table is the fallback when a router is missing.</li> <li>Map each router complaint to an <code>entries</code> slug.</li> <li>Build nodes from measurement-card checkpoints, in the router's order.</li> <li>Terminals link the docs the router names for that complaint (<code>docs</code> array).</li> <li>Re-run <code>build.ps1</code> — it will reject the file with a specific error if anything dangles.</li> </ol> </body> </html>
Proudly Served by LiteSpeed Web Server at kickinghorsewelders.ca Port 443