# Part Section Batch Checkpoint Batch: `af93355ab923901e87e33808`. Selected requirements remain `Part_Scale`, `Part_Section`, `Part_SectionCut`, and `Part_ShapeInfo`. This note is not acceptance evidence. Do not modify contracts, proof-area requirements, verifiers, or acceptance machinery to promote these commands. ## Implemented In This Turn - `DocumentProbe.cpp` has a `createSection` action using the existing native `Part::Section` feature and OCCT section operation. It groups selected subelements by document object, retains Base/Tool links, creates a unique native name, hides sources and copies stored display color in one transaction. Native recompute, rollback, undo/redo, FCStd, and edge serialization use the existing document owner. Geometry stays in the supplied OCCT/FreeCAD WASM. - `part-desktop-adapter.ts` routes `Part_Section` through `part.document`, checks document/selection ownership and the returned feature links, and preserves desktop selection. `part-document-facade.ts` admits and validates this action. - `PartMakeFaceTask` has a mounted Section mode in `workbench-shell.tsx` with source selection, native edge display, result table, history, FCStd open, and OPFS save. The existing renderer respects stored Section color and visibility. - `tools/part-section-business-cases.mjs` is registered in the existing Part case entrypoint. It asserts native intersection lengths/topology, linked recomputation, empty intersections, invalid inputs, document isolation, selection preservation, unique names, history, FCStd, and primary browser controls with desktop/mobile canvas checks. It fingerprints its source and artifacts and records durable stage timestamps. Assertions are executable; this description does not establish that they passed. ## First Attributable Failure And Repair Command: `python3 tools/run_business_acceptance.py --module Part --ids Part:desktop:Part_Section --reuse` The first run timed out after 180 seconds. Last completed stages were adapter compilation and native WASM load/fixture initialization; last entered stage was `native-section-enter`. No browser work was entered and no success was recorded. Its case directory is `docs/current/part-section-business/2026-09-17T00-08-25-380Z`. `FCBRepAlgoAPI_Section` enabled OCCT parallel execution in its constructors and inherited `Build` without the synchronous WASM guard already present in `FCBRepAlgoAPI_BooleanOperation`. A shared `Build` override now forces `SetRunParallel(Standard_False)` under `__EMSCRIPTEN__` and delegates to OCCT. Desktop builds preserve parallel execution. The affected target is `FreeCADWebDocumentProbe`, not the packet's generic PartBox target. ## Verification At Checkpoint Creation - Initial focused document build passed and its JS/WASM/worker were synced. - `npm --prefix web run check:geometry-boundary` passed with no findings. This is a static boundary check, not proof of all runtime paths. - Focused TypeScript checking of `part-make-face-task.tsx` passed. - The second document build, containing the Section threading repair, compiled affected Part sources and is linking. Sync and rerun status is recorded below. ## Remaining Work 1. Finish/sync the repaired document artifact and rerun only Section's changed acceptance case. Fix its next concrete failure. Inspect screenshots if the browser cases complete. Retain any required proof areas still absent. 2. Complete Section coverage for transformed links, stored appearance, and transaction failure after mutation. Current code copies stored WebDisplayColor; full desktop ShapeAppearance-to-LineMaterial semantics are not yet established. 3. Implement Scale using `freecad-source/src/Mod/Part/Gui/DlgScale.cpp`, especially its apply/accept/reject paths and `writeParametersToFeature` near line 340. It writes Base, Uniform, UniformScale, XScale, YScale, ZScale to a native scale feature. `TaskScale.cpp` does not exist; do not repeat that guessed path. 4. Implement Section Cut's dock workflow from `freecad-source/src/Mod/Part/Gui/SectionCutting.cpp` (`makeDockWidget` near 1455). `SectionCut.cpp` does not exist. Command activation only opens a singleton dock; a generic section result is not sufficient for its workflow. 5. Shape Info's `CmdShapeInfo::activated` in `Command.cpp:2154` is empty. Its enabled state requires a document containing Part features and a non-editing 3D view. Preserve this distinction when implementing its cases. The bounded source reader reached 48 windows / 144000 bytes. All source already read is retained in the turn; this is a read-budget boundary, not absent source. No full-parity/API gates, deployment, pushes, external messages, IFC reruns, contract edits, or manual acceptance status edits were performed.