--- id: "bug-1460" status: "fixed" status_updated: "2026-09-24" status_note: "" component: "xceadmin" severity: "unknown" timestamp: "2026-07-22T03:52:00Z" last_seen: "2026-09-19T09:00:00Z" occurrences: 1 files: ["src/xceadmin/pyproject.toml"] tags: ["xceadmin", "python", "packaging", "setuptools", "package-data", "wheel", "admin-config-tool", "task-1.3", "requirement-5.5"] related: ["bug-1458", "bug-1459"] legacy: true --- # bug-1460: Under `xce-build.sh xceadmin release` (pinned, non-editable install), the installed xcecommon… ## Description Under `xce-build.sh xceadmin release` (pinned, non-editable install), the installed xcecommon package in site-packages has no schema_files/ directory at all — controller.capnp/c.capnp/JSON schemas are silently dropped from the wheel ## Environment _Not recorded (migrated from buglog.json)._ ## Reproduction _Not recorded (migrated from buglog.json)._ ## Root cause pyproject.toml had no [tool.setuptools.package-data] entry for xcecommon, so setuptools' default wheel build only includes *.py files. The xce-build.sh sync step correctly copies controller.capnp/c.capnp/*.schema.json into src/xcecommon/schema_files/ in the SOURCE tree, but `pip install .` (non-editable) builds a wheel from that source tree and, without package-data config, drops every non-.py file. An editable install (`pip install -e .`) never surfaces this because it resolves imports straight into the checked-out source tree, bypassing wheel packaging entirely — exactly the gap design.md's Testing Strategy 'Unit — schema bundling' note warned only a release-profile test run could catch (Requirement 5.5). ## Fix Added [tool.setuptools.package-data] xcecommon = ["schema_files/*.capnp", "schema_files/json/*.schema.json"] to src/xceadmin/pyproject.toml. Verified: after `xce-build.sh xceadmin release`, site-packages/xcecommon/schema_files/ now contains controller.capnp, c.capnp, and json/*.schema.json, byte-identical to the synced source copies. ## Verification _Not recorded (migrated from buglog.json)._ ## References - Related: bug-1458, bug-1459