Update shared submodule (adds alembic.ini for migrations).
Use subshell for alembic so CWD is never affected by cd shared,
preventing cascading config path errors if migration fails.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Swap shared_lib submodule → shared (tracking decoupling branch)
- Dockerfile: shared_lib/ → shared/, remove bp symlink hack
- entrypoint.sh: cd shared for alembic upgrade head
- CI: trigger on decoupling branch, use dynamic ref_name
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract blog-specific code from the coop monolith into a standalone
repository. Includes auth, blog, post, admin, menu_items, snippets
blueprints, associated templates, Dockerfile (APP_MODULE=app:app),
entrypoint, and Gitea CI workflow.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>