Commit Graph

39 Commits

Author SHA1 Message Date
giles
3b24cf45e5 Add PYTHONPATH=/app so Hypercorn spawn workers find app module
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m40s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 14:01:33 +00:00
giles
a6ed49d0c1 Update shared submodule: rename logging → log_config
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m19s
Fixes stdlib logging shadow that caused circular import in Docker.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 13:55:51 +00:00
giles
62000256aa Replace shared_lib submodule with shared for decoupling deploy
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m11s
- Swap shared_lib submodule → shared (tracking decoupling branch)
- Dockerfile: shared_lib/ → shared/, remove bp symlink hack
- CI: trigger on decoupling branch, use dynamic ref_name

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 13:29:25 +00:00
giles
079293eb2c fix: update market template to use container refs, add config
- Template uses m.page.slug instead of m.post.slug
- Add app-config.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 12:50:48 +00:00
giles
478636f799 feat: decouple market from shared_lib, add app-owned models
Phase 1-3 of decoupling:
- path_setup.py adds project root to sys.path
- Market-owned models in market/models/ (market, market_place)
- All imports updated: shared.infrastructure, shared.db, shared.browser, etc.
- MarketPlace uses container_type/container_id instead of post_id FK

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 12:46:32 +00:00
giles
41b4e0fe24 fix: remove existing bp dir before symlinking in Dockerfile
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 48s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 01:08:09 +00:00
giles
b8f57ef92f fix: register cart loader so g.cart is available for product cart route
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 35s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:52:29 +00:00
giles
20fde958ec fix: correct endpoint name to market.browse.product.cart
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 38s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:41:00 +00:00
giles
9ee0c91106 fix: use url_for for cart/product URLs to include page/market slugs
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 35s
market_url() generates URLs without the /<page_slug>/<market_slug>
prefix, causing 405 on POST /cart. url_for() auto-injects the slugs
via url_defaults.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:30:02 +00:00
giles
fd205b9b61 fix: inject post data via blueprint context processor
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 33s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:17:13 +00:00
giles
2788e24ec8 fix: inject post data into template context for post header row
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 36s
The post header bar needs `post` in the template context to render
the page link, feature image, and nav. Added context processor to
spread g.post_data into templates, matching the events app pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:12:35 +00:00
giles
863429d51b fix: add post header bar to market pages and show market name
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 36s
- Add post header row to market/index.html template chain
- Fix OOB templates to include post header on HTMX navigation
- Show market name instead of static coop_title in header
- Restore trailing slash on POST /cart/ route; fix templates to
  include trailing slash in cart URLs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 23:55:16 +00:00
giles
93e1e6d41e fix: remove trailing slash from POST /cart route
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 39s
Templates generate URLs without trailing slash via market_url(), but
the route required one. POST requests don't get redirected by Werkzeug,
causing a 405 MethodNotAllowed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 23:52:25 +00:00
giles
7065acb94d chore: move repo to ~/rose-ash/ and add configurable CI paths
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 47s
REPO_DIR points to /root/rose-ash/market, COOP_DIR to /root/coop.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:05:42 +00:00
giles
9fb26129b6 chore: update shared_lib submodule to Phase 4
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m8s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 21:47:46 +00:00
giles
6a378a2425 fix: use cart_url() instead of url_for('cart.view_cart') for cross-app redirect
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 57s
The market app doesn't have a cart blueprint registered, so url_for()
would fail. Uses the cross-app cart_url() helper instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 21:45:54 +00:00
giles
6459e2406e chore: update shared_lib submodule to Phase 3
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 33s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:54:19 +00:00
giles
ce1847e06c feat: set market_place_id on CartItem when adding to cart (Phase 3)
Track which market a cart item came from by setting market_place_id
from g.market.id on new CartItem creation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:49:37 +00:00
giles
98abe5a0de fix: rename post slug URL param to page_slug to avoid collision
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 39s
The market blueprint already uses <slug> for product routes,
so the app-level prefix uses <page_slug> instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:20:49 +00:00
giles
6202b31e8e fix: nest market blueprint under post slug /<slug>/<market_slug>/
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
Market app now follows the events app pattern — URLs include
the post slug prefix (e.g. /market/suma-market/). Hydrate
loads both post and market, verifying market belongs to post.
Scraper default URLs updated accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:15:45 +00:00
giles
b831d01113 chore: update shared_lib submodule
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 39s
Market top menu link now goes to coop blog page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:08:06 +00:00
giles
2a1ef78653 chore: update shared_lib submodule
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 37s
Picks up market links in post nav entries template.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:01:00 +00:00
giles
33a30bef06 fix: remove duplicate market_slug in blueprint registration
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
The url_prefix was being set both in register_market_bp() and
app.register_blueprint(), causing a SyntaxError from duplicate
route parameter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 18:26:26 +00:00
giles
803a1d44e0 chore: update shared_lib submodule for MarketPlace model
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 38s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 18:16:28 +00:00
giles
9b2687b039 feat: restructure market app with per-market URL scoping
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
- URL structure changes from /<route> to /<market_slug>/<route>
- Root / shows markets listing page
- app.py: url_value_preprocessor, url_defaults, hydrate_market (events app pattern)
- Browse queries (db_nav, db_products_nocounts, db_products_counts) accept market_id
- _productInfo reads g.market.id to scope all queries
- save_nav accepts market_id, sets on new NavTop rows
- API save_nav passes g.market.id
- Scraper default URLs point to /suma-market/ on port 8001

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 18:08:48 +00:00
giles
6a266bd94d chore: update shared_lib (fix settings cog visibility)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 13:23:05 +00:00
giles
c6dbbcac52 chore: update shared_lib (fix stale blog.post.calendars refs)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 13:03:37 +00:00
giles
d743c69eec chore: update shared_lib (remove console.log)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 42s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:51:41 +00:00
giles
a6471c0412 chore: update shared_lib submodule
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 34s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:55:15 +00:00
giles
21e1db4b5d chore: update shared_lib submodule (post slug in events_url paths)
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 35s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:37:01 +00:00
giles
ac3ed87351 chore: update shared_lib submodule
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 35s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 09:40:54 +00:00
giles
88c38c0e74 fix: add cart identity stub for product blueprint
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 40s
Product routes lazily import current_cart_identity from cart.services.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 01:18:53 +00:00
giles
efe769a0fc fix: add cart services stub for product blueprint dependency
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Product routes import total() from cart.services — provide a minimal
copy so the market image can start independently.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 01:16:00 +00:00
giles
601a696ecb fix: add register_product to bp/__init__.py (needed by browse)
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:34:39 +00:00
giles
e737a953a6 fix: add proper register_market_bp export to bp/__init__.py
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:28:46 +00:00
giles
b129986078 fix: add bp symlink in Dockerfile for suma_browser.app.bp import path
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:24:19 +00:00
giles
14c72b868a fix: Dockerfile, entrypoint, and CI for multi-repo deployment
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
- Fix requirements.txt path to shared_lib/requirements.txt
- Remove alembic migrations (managed by blog service)
- Fix APP_MODULE default to app:app
- CI: add git submodule update, deploy shared coop stack from /root/coop

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:14:03 +00:00
giles
dc7c989834 feat: add shared library as git submodule
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:41:50 +00:00
giles
6271a715a1 feat: initialize market app with browsing, product, and scraping code
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Split from coop monolith. Includes:
- Market/browse/product blueprints
- Product sync API
- Suma scraping pipeline
- Templates for market, browse, and product views
- Dockerfile and CI workflow for independent deployment
2026-02-09 23:16:34 +00:00