6.0 KiB
CommandDoc continuation checkpoint
Batch: 2e9813adcba58626f828290e, 2026-09-16.
Selected IDs: Web:desktop:Std_Delete, Web:desktop:Std_DependencyGraph,
Web:desktop:Std_DuplicateSelection, Web:desktop:Std_Edit.
Actual result
No application implementation changed and no ID newly accepted in this turn. The authorized acceptance runner completed:
python3 tools/run_business_acceptance.py --module Web --ids Web:desktop:Std_Delete Web:desktop:Std_DependencyGraph Web:desktop:Std_DuplicateSelection Web:desktop:Std_Edit --reuse
It executed all four IDs (reused: false), with zero passed, in 0.812 seconds.
All four report business route not implemented from the executable case
router. Evidence:
docs/current/business-evidence/fb253b7acd070613e94b8b8a-20260916T093027066064.json.
This is a missing-case result, not proof that the application routes are absent.
Do not repeat this unchanged batch before implementing the cases or repairing
a relevant input. No build or sync was needed because implementation files
were unchanged. No other test or browser session was started.
Retained source decisions
web/src/web-desktop-adapter.ts:758: all four selected commands already enterisCommandDoc(command) && !statefulCommandDoc.includes(command). They callPart'sviewEndpoint(owner)for PartBox or DocumentProbe, preserving the supplied operation. Responses passvalidCommandDoc; changed results update selection and refresh the scene viaStd_SceneInspector. Do not reroute these commands based on the later fallback around line 980: that fallback is not the selected commands' active branch.WebViewCommands.h:1008: dependency graph uses nativedoc.DependencyGraph,doc.Objectsand each object'sOutListto return nodes and directed edges.WebViewCommands.h:1014: selection resolves actual native document objects, rejects stale identities and subelements, and removes duplicates.WebViewCommands.h:1025: Edit importsFreeCADGuiand requiresGui.getDocument(document_id). It callsgetInEdit,setEdit(name, 0)andresetEditfor begin/toggle/finish. A browser edit host with actual property mutation, commit and cancellation has not been established. Do not replace this with editing metadata or claim a successful native edit from it.WebViewCommands.h:1051: Delete previews native incoming references, requires confirmation for affected objects, rejects active tasks and foreign-document selection, and restricts deletion to known types without custom Proxy cleanup. Apply removes objects inside a transaction and recomputes, aborting on errors. Preserve custom ViewProvider veto/cleanup boundaries.WebViewCommands.h:1083onward: Duplicate traverses native OutList dependencies. Preview returns identities; apply validates the recursion boolean, requires saved external-reference documents/destination, callsdoc.copyObject(selected, recursive), recomputes and commits or aborts.web-commanddoc-task.tsx: graph rendering and node selection are mounted task controls. Delete/Duplicate review sendsoperation: preview; apply sendsoperation: apply, preview object identities, includeDependencies and confirmDependencies. Edit sends begin/finish. Graph refresh sends empty args. These controls and contracts are existing work, not newly verified behavior.
Source boundary and next continuation
The actual executable extension point is tools/web-business-cases.mjs, invoked
by tools/web-acceptance-cases.mjs:16 for IDs absent from the manual mapping.
The bounded reader rejected an exact read of this file with:
Use an exact source/support/native-match file named by the current packet.
The next packet needs this delegated case file and any helpers it imports.
Do not modify the acceptance wrapper, manual mapping or verifier to bypass
the missing case extension point. Add actual semantic assertions before covers
declarations; retain the existing acceptance runner for attributable evidence.
The source reader then reached 16 windows / 48000 bytes and rejected the
desktop duplicate anchor and both explicitly supplemental requests. The source
exists; this is a read budget boundary. Reuse the decisions above next turn.
Prioritize these missing anchors after the case extension point is available:
freecad-source/src/Gui/CommandDoc.cpp:1915, 60 lines: native Edit semantics.freecad-source/src/Gui/CommandDoc.cpp:1294, 60 lines: native Duplicate selection/dependency semantics, including remaining continuation if needed.freecad-source/src/Gui/CommandDoc.cpp:1453, 60 lines: native Delete semantics.freecad-source/src/Gui/CommandDoc.cpp:638, 60 lines: native graph semantics.web/src/workbench-shell.tsx:580, 60 lines: determine whether task apply's explicit preview selection survives preparedDesktopArgs selection forwarding. The supplied excerpt is insufficient to call this a bug.
Implement native/browser cases against the existing persistent runtime first, then isolate the first actual behavior failure. Assert real object removal, dependency effects, duplicate identities and native properties/links, graph edges, document isolation and relevant undo/redo. Edit requires actual editable object behavior and finish/cancel semantics before claiming completion. Build/sync only affected changed targets and run the isolated affected ID before the broader selected batch. Reuse supplied WASM and completed workflows.
All original and supplemental requirements remain open where not proven,
including docs/current/IFC_SEMANTIC_EXPORT_CONTRACT.md; proxy geometry does not
satisfy semantic IFC export. No contract, verifier, proof-area requirement,
acceptance machinery, covers tag or passing status was edited. No full-parity
or API gate, deployment, push or external message was performed.
An initial unscoped git status --short was rejected by the scheduler (exit 64);
the subsequent scoped status succeeded. This is a command-scope diagnostic,
not a CAD behavior failure. All invoked command sessions have completed.