# BrepFaultProbe Formal entry point for B-rep based structural fault diagnosis experiments. This tool collects the current B-rep fault-checking workflow behind one stable command surface: - `model`: extract a true SolidWorks section B-rep and canonical 2D sketch graph. - `bridge` / `interpret`: convert a SolidWorks model into a B-rep semantic bridge package, render SVG, patch map, local feature candidates, self-evolution audit, and optional AI interpretation. - `diagnose-ch18`: run the formal Chapter 18 trial workflow for verified chunks 18.2.1 and 18.2.4. It first builds a semantic bridge, matches the mechanical semantic graph against the two chunks, and if a possible match is blocked by missing B-rep-extractable facts, it runs targeted deep extraction before writing the final match. The formal model-side section extraction implementation is `tools\model-diagnostics\SectionBrepExtractor`. Old temporary wrappers that referenced `tmp` have been removed from this entry point. Examples: ```powershell dotnet run --project tools\model-diagnostics\BrepFaultProbe\BrepFaultProbe.csproj -c Release -- model "D:\path\model.SLDASM" dotnet run --project tools\model-diagnostics\BrepFaultProbe\BrepFaultProbe.csproj -c Release -- bridge "D:\path\model.SLDASM" runtime\brep_semantic_bridge\trial1 dotnet run --project tools\model-diagnostics\BrepFaultProbe\BrepFaultProbe.csproj -c Release -- diagnose-ch18 "D:\path\model.SLDASM" runtime\knowledge_diagnosis_ch18\trial1 ``` `bridge` writes these files: - `structure_graph.json`: unified 2D B-rep, extracted relations, dimensions, 3D component/cylinder facts, and interpretation contract. - `patch_map.json`: grid patches over the 2D B-rep render, with edge/owner/role references per patch. - `render.svg`: a drawable 2D projection of the B-rep structure for visual grounding. - `semantic_bridge_package.json`: model-ready payload combining the structure graph and render reference. - `prompt.md`: the exact text prompt used for model interpretation. - `ai_interpretation.md`: written only when `OPENAI_API_KEY` is set and the configured AI chat API call succeeds. `diagnose-ch18` writes these files: - `initial/`: first-pass bridge output. - `knowledge_match.initial.json`: first-pass match against 18.2.1 and 18.2.4. - `final/`: deep bridge output, written when a possible match needs more B-rep facts. - `knowledge_match.final.json`: final match result. - `diagnosis_manifest.json`: process manifest, including whether targeted re-extraction was performed. Optional AI settings: ```powershell $env:OPENAI_API_KEY = "..." $env:OPENAI_MODEL = "qwen-vl-max" $env:OPENAI_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1" $env:OPENAI_API_MODE = "chat_completions" $env:OPENAI_MAX_IMAGES = "12" dotnet run --project tools\model-diagnostics\BrepFaultProbe\BrepFaultProbe.csproj -c Release -- bridge "D:\path\model.SLDASM" dotnet run --project tools\model-diagnostics\BrepFaultProbe\BrepFaultProbe.csproj -c Release -- bridge "D:\path\model.SLDASM" --model qwen-vl-max --max-iterations 2 dotnet run --project tools\model-diagnostics\BrepFaultProbe\BrepFaultProbe.csproj -c Release -- bridge "D:\path\model.SLDASM" --deep --no-ai ``` Self-evolution behavior: - The bridge first audits local fact coverage: section count, contact relations, outside-adjacent edges, component facts, and cylindrical faces. - If local coverage is weak, or `--deep` is passed, it automatically adds secondary section views with different guide axes. - The structure package includes `SelfEvolutionAudit`, `SectionViews`, and `LocalFeatureCandidates`. - When AI is enabled, the prompt requires a final JSON self-evolution request. If the model says more facts are needed, the tool performs one more interpretation pass using the enhanced package context and writes `ai_self_evolution.json`.