73 lines
3.5 KiB
JSON
73 lines
3.5 KiB
JSON
{
|
|
"schema": "freecad-web-p6-cloud-action-contract/v1",
|
|
"task_id": "FW-P6-CLD-ACT-02",
|
|
"module": "Cloud",
|
|
"action": "inspect/source-inventory",
|
|
"command": "cloud.inspectSourceInventory",
|
|
"typed_schema": "freecad-web-cloud/inspect-source-inventory/v1",
|
|
"status": "contract_frozen",
|
|
"source_revision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
|
|
"inventory_revision": "4f4e9244e613ea2df06e70027074a562695048cb",
|
|
"input_sha256": "ad507e437889bc142b22d7d349f4b1484efd35dcd744a0fe49709c1d956ef785",
|
|
"result_sha256": "c1c13e153937989e53f0634dbbdef405b44fc0bb61ff502dcec6887464b4ac02",
|
|
"fixture": {
|
|
"sourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
|
|
"inventoryRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
|
|
"module": "Cloud",
|
|
"readOnly": true
|
|
},
|
|
"expected_result": {
|
|
"module": "Cloud",
|
|
"action": "inspect/source-inventory",
|
|
"sourceRevision": "b5a086fda59b0325fe0996147e6e9b344414f9bc",
|
|
"inventoryRevision": "4f4e9244e613ea2df06e70027074a562695048cb",
|
|
"sourceEntry": "src/Mod/Cloud/Init.py",
|
|
"registrationEntry": "src/Mod/Cloud/App/AppCloud.cpp:63",
|
|
"targets": ["Cloud", "CloudGui"],
|
|
"registeredTypes": [],
|
|
"registeredFormatExtensions": [],
|
|
"formatEvidenceCount": 1,
|
|
"objectTypeCount": 0,
|
|
"pythonApiCount": 3,
|
|
"guiPythonApiCount": 3,
|
|
"dependencies": ["FreeCADApp", "OpenSSL", "CURL", "XercesC", "Boost", "ZLIB"],
|
|
"guiExcluded": ["CloudGui", "FreeCADGui"],
|
|
"readOnly": true
|
|
},
|
|
"expected_error": {
|
|
"input": { "sourceRevision": "wrong-revision" },
|
|
"code": "revision_mismatch",
|
|
"field": "sourceRevision",
|
|
"message": "Cloud source revision is not locked"
|
|
},
|
|
"source_evidence": {
|
|
"init": { "path": "src/Mod/Cloud/Init.py", "sha256": "8924f27242a278b370bac42501f2a48c743e4f3ebeddc265063919b9f9610313" },
|
|
"implementation": { "path": "src/Mod/Cloud/App/AppCloud.cpp", "sha256": "8be20fcce6a644763a73e4a46b737cdfc3bc56010404159ceb590d0937eb493b" },
|
|
"api_header": { "path": "src/Mod/Cloud/App/AppCloud.h", "sha256": "1da84dbfd932b1170759aea3262a79613be0116c39d3d30bb900a2dcdd2ae2cc" },
|
|
"inventories": {
|
|
"workbench_sha256": "06a0ff0d65e5b9d875b10ae5c88c064da5e2b166c131648e97d6c1f48e0ce263",
|
|
"object_sha256": "020205e72184e2d92677c81cd183aabb2f9258204d11dc9f42fceddcc0a87c66",
|
|
"format_api_sha256": "f70d3ea8d8da3488810da34c7fb0412fdeb566d2a2f28bce0048a2637254f9b9"
|
|
}
|
|
},
|
|
"subtasks": [
|
|
{ "task_id": "FW-P6-CLD-ACT-02-C", "status": "planned" },
|
|
{ "task_id": "FW-P6-CLD-ACT-02-D", "status": "planned" },
|
|
{ "task_id": "FW-P6-CLD-ACT-02-E", "status": "planned" },
|
|
{ "task_id": "FW-P6-CLD-ACT-02-F", "status": "planned" },
|
|
{ "task_id": "FW-P6-CLD-ACT-02-G", "status": "planned" }
|
|
],
|
|
"commands": [
|
|
"rg -n 'PyMOD_INIT_FUNC\\(Cloud\\)|add_varargs_method|addImportType|addExportType' FreeCAD/freecad-source/src/Mod/Cloud",
|
|
"filter Cloud rows from docs/workbench-inventory.json, docs/object-inventory.json, and docs/format-api-inventory.json"
|
|
],
|
|
"artifacts": { "contract": "docs/p6/cloud-action-02-inspect-source-inventory.json" },
|
|
"boundaries": [
|
|
"The frozen inventory contains no Cloud DocumentObject type or registered file extension.",
|
|
"The three Python API inventory entries are GUI-only CloudWorkbench symbols and remain excluded from the headless action result.",
|
|
"The class-evidence row is not presented as a registered import/export format.",
|
|
"This parent contract does not mark the action implemented; C through G remain required."
|
|
],
|
|
"generated_at": "2026-08-20T10:49:36Z"
|
|
}
|