{ "schema": "freecad-web-p6-python-api-module-batch-gate/v1", "taskId": "FW-P6-FPA-F3-SKETCHER", "module": "Sketcher", "tier": "tier-3-stateful", "result": "pass", "coverage": { "records": 24, "counts": { "not_implemented": 22, "restricted": 2 } }, "records": [ { "id": "py:Sketcher:class:SketchObject", "name": "SketchObject", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "document-graph", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "58784e7e227e44b20d9b773162bab9622fd5141e61ee4d28ac93630d43eed48b" }, { "id": "py:Sketcher:class:SketchObjectSF", "name": "SketchObjectSF", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "document-graph", "sourceEntry": "src/Mod/Sketcher/App/SketchObjectSF.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "26c3ffbbf936e43727f782f92bbe8cfa94e76e00fc57cc03219272117e207669" }, { "id": "py:Sketcher:method:ExternalGeometryFacade.deleteExtensionOfName", "name": "ExternalGeometryFacade.deleteExtensionOfName", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "ed7985379e0754b3c984ceefa9f275045d11e6fdbe4b4bf89d0fa6887b76e243" }, { "id": "py:Sketcher:method:ExternalGeometryFacade.deleteExtensionOfType", "name": "ExternalGeometryFacade.deleteExtensionOfType", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "835e1f3f7512082e7a56773e9184234e76d48aea249cb27326ed629bc3c76ed5" }, { "id": "py:Sketcher:method:ExternalGeometryFacade.getExtensionOfName", "name": "ExternalGeometryFacade.getExtensionOfName", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "4a8ebc784fc7f778fe31ef03b7ec3731baccac05fa767a1e0d4774b134da02e9" }, { "id": "py:Sketcher:method:ExternalGeometryFacade.getExtensionOfType", "name": "ExternalGeometryFacade.getExtensionOfType", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "918d5c90bdb5558d14ab723f2347b4b934d3242f87a825312c7ba11d5380b0ea" }, { "id": "py:Sketcher:method:ExternalGeometryFacade.hasExtensionOfName", "name": "ExternalGeometryFacade.hasExtensionOfName", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "dec720203a01a64d207a79d3dcbf971a0147fb47a5fc36249f6a1bc15f974bfe" }, { "id": "py:Sketcher:method:ExternalGeometryFacade.hasExtensionOfType", "name": "ExternalGeometryFacade.hasExtensionOfType", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/ExternalGeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "89bb6b2f0ee47d229f367367ba8532bb36ea3c20cc58b8c5ce286332bd92c9fa" }, { "id": "py:Sketcher:method:GeometryFacade.deleteExtensionOfName", "name": "GeometryFacade.deleteExtensionOfName", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "d23598e1d11a0094f39faa6cdc117e7d363885bcb24601f291b90825f8092f9c" }, { "id": "py:Sketcher:method:GeometryFacade.deleteExtensionOfType", "name": "GeometryFacade.deleteExtensionOfType", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "6f1ba4314e83706baeaf678be4860b40d40fa71791d770c7778868bf60214a97" }, { "id": "py:Sketcher:method:GeometryFacade.getExtensionOfName", "name": "GeometryFacade.getExtensionOfName", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "0002c9179bdebd04e0c7f28f0bc1fd2a61f9f254fc3b7e18d2be08240e742ee4" }, { "id": "py:Sketcher:method:GeometryFacade.getExtensionOfType", "name": "GeometryFacade.getExtensionOfType", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "ce0fee1a6f185db5d69d9e461aae77ce86634cfd86d4075128c6d1e3d4a5646c" }, { "id": "py:Sketcher:method:GeometryFacade.hasExtensionOfName", "name": "GeometryFacade.hasExtensionOfName", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "0746886de1b48d0124384d9aca91d6cb93a8838618b5672a9498ecf68d9699f5" }, { "id": "py:Sketcher:method:GeometryFacade.hasExtensionOfType", "name": "GeometryFacade.hasExtensionOfType", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/GeometryFacade.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "90f9f1f3bf99c9f705c220f7432457b2f4bb47488ffaa33ad18d5a0699a68ee7" }, { "id": "py:Sketcher:method:SketchObject.getGeometryWithDependentParameters", "name": "SketchObject.getGeometryWithDependentParameters", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "cb6f680be46f42794a91a2fb62a6a9a3ff1412584889b0e91bbb6f57a6188581" }, { "id": "py:Sketcher:method:SketchObject.getIndexByName", "name": "SketchObject.getIndexByName", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "765ef4ab9ec30b68c6bf4b3738bee6e4b1e9a4e44c120a63c46acf2f38b341aa" }, { "id": "py:Sketcher:method:SketchObject.getLabelDistance", "name": "SketchObject.getLabelDistance", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "90a687b56e39da0a9564d58725714a0ceb44299676c4328720006f92f0b07c05" }, { "id": "py:Sketcher:method:SketchObject.getLabelPosition", "name": "SketchObject.getLabelPosition", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "c154080fff1b3810154e62c16d8cd8609d6282fdc059595d967627db2bb6588d" }, { "id": "py:Sketcher:method:SketchObject.renameConstraint", "name": "SketchObject.renameConstraint", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "73f1a53afdae3d4616b4504c78d285c76b63699ba1d7446436900a13e9f88f6c" }, { "id": "py:Sketcher:method:SketchObject.setLabelDistance", "name": "SketchObject.setLabelDistance", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "040dad215e9be46848e05e4952e07f99461f64b40dcb9262c2d00d1d28150415" }, { "id": "py:Sketcher:method:SketchObject.setLabelPosition", "name": "SketchObject.setLabelPosition", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "property", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "2b9b5a85a1fe4494f12b134d8c0865bb6ab53e2003723bdb8ded4b28c833d4ed" }, { "id": "py:Sketcher:method:SketchObject.toPythonCommands", "name": "SketchObject.toPythonCommands", "disposition": "not_implemented", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "typed stateful method argument/return replay is pending", "family": "lifecycle-command", "sourceEntry": "src/Mod/Sketcher/App/SketchObject.pyi", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "09c40ef55a30895a244766b8b3721c16fbced5b6980b575f3c7323460247a3b1" }, { "id": "py:Sketcher:method:SketcherWorkbench.GetClassName", "name": "SketcherWorkbench.GetClassName", "disposition": "restricted", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "GUI/PySide/Pivy stateful API is unavailable in the headless Web runtime", "family": "property", "sourceEntry": "src/Mod/Sketcher/InitGui.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "ea3a125b628e10a102fb1acaa37c669c999912a3892cfc895eb00156b7f24cb9" }, { "id": "py:Sketcher:method:SketcherWorkbench.Initialize", "name": "SketcherWorkbench.Initialize", "disposition": "restricted", "evidence": [ "docs/p6/python-api-stateful-family-runtime.json" ], "reason": "GUI/PySide/Pivy stateful API is unavailable in the headless Web runtime", "family": "lifecycle-command", "sourceEntry": "src/Mod/Sketcher/InitGui.py", "sourceRevision": "2778e3f9c215da48bf0cfd562478d45d624aaa47", "parameterSchema": "document-stateful-diff/v1", "returnSchema": "document-stateful-result/v1", "documentDiffSha256": "bf53c7019bd219045763498abdd8be0977703b1ddb668e39b545c7456e1126ae", "errorRecoverySha256": "0ea577005194ee2c46923e4a8583be6c1fef4d69000e5b73c0a0f6aa960e7fc2", "evidenceSha256": "ff1bc5ab70c879db58c4cedb2f5ad6679a478132558349a7dd92ed7f6f0bced0" } ], "manifestSha256": "9974d9d768b1b0751a318f559e1c1f01a0a60a8afd9eb41b70736bb24539f152", "nativeRuntime": "docs/p6/python-api-stateful-family-runtime.json", "nativeRuntimeSha256": "9a0da43d370af4f728eb759e19d6fea2246c9b3ceef6b445b0e4a13b81653b57", "adapterManifest": "docs/p6/tier3-stateful-adapter-manifest.json", "adapterManifestSha256": "ba90138c57d45c3cb465185746b95c9b239ff043655356c28d52d2c76f42d64c", "route": { "worker": "sketcher-python.worker.ts", "command": "sketcher.pythonApi", "state": "Document/Sketcher" }, "nativeRoute": { "worker": "web/src/stateful-family.worker.ts", "facade": "web/src/stateful-family-facade.ts", "command": "web.statefulFamilyBatch", "native": "freecad-source/src/WebAssembly/FreeCADCoreProbe/DocumentProbe.cpp:fc_web_dispatch_json" }, "resources": { "resourcesReleased": true, "documentMutation": true, "fcstdSemanticReplay": true, "transactionUndoRedo": true, "invalidRecomputeRecovery": true }, "boundaries": [ "Terminal disposition does not claim that restricted or not_implemented APIs are callable.", "Only exact module-scoped native evidence can promote a symbol." ] }