webcdi/static/ is both STATIC_ROOT and git-tracked: every collectstatic dirties the tree, app static files exist in two copies that must be manually synced, and Django upgrades silently change committed vendor files. Fix: point STATIC_ROOT outside the tree, git rm the collected copies, rely on the .ebextensions collectstatic at deploy. Coordinate with a deploy — touches production. Est. 1 day. (Catalogue item 9.)
webcdi/static/ is both STATIC_ROOT and git-tracked: every collectstatic dirties the tree, app static files exist in two copies that must be manually synced, and Django upgrades silently change committed vendor files. Fix: point STATIC_ROOT outside the tree, git rm the collected copies, rely on the .ebextensions collectstatic at deploy. Coordinate with a deploy — touches production. Est. 1 day. (Catalogue item 9.)