Session: 2026-02-14 10:56
Session: 2026-02-14 10:56
Summary
Documentation and workspace tooling session. Created unified Cloudflare and caching docs, built workspace automation tools, and set up Asana/Todoist API integrations.
What was done
Documentation (committed + pushed to core, synced to all 3 projects)
-
Created
core/docs/CACHING.md— Unified caching reference: current state (nothing cached), safe/unsafe endpoint tables with TTLs, Alpine.js basket safety explanation,Vary: Cookieproblem, 6 Cloudflare Cache Rules, cache purging (admin UI + 2 management commands), DjangoCache-Controlheaders. -
Updated
core/docs/PRODUCTION_DEPLOYMENT_CHECKLIST.md— Replaced 58-line Cloudflare Page Rules section (lines 274–331) with 4-line cross-reference to CACHING.md. Updated summary checklist section. -
Created
core/docs/CLOUDFLARE.md— Unified Cloudflare reference: account/plan info, zone config, full Django settings inventory (4 tokens,OEPRATIONSdicts), 3 API integration points (GraphQL analytics, targeted purge, global purge), request headers (CF-IPCountry,CF-Connecting-IP), troubleshooting. -
Created
core/docs/plans/CLOUDFLARE_CACHING_RESTORATION.md— 5-phase plan: audit stale purge lists, create Cache Rules, code changes, QA validation, production rollout. Includes full legacy URL name audit against currentconfig/urls.py. 5 open questions flagged.
Commits (all pushed)
Core (givecore main):
- a286313c — Add unified CACHING.md and update deployment checklist
- 75985857 — Add CLOUDFLARE.md — unified Cloudflare reference
- c50dcef3 — Add Cloudflare caching restoration plan
give-htmx (main):
- 21456e0c — [Update core] Add CACHING.md, update deployment checklist
- 641a88b6 — [Update core] Add CLOUDFLARE.md
- 8a68e1f1 — [Update core] Add Cloudflare caching restoration plan
give-worker (master):
- 15288fd — [Update core] Add CACHING.md, update deployment checklist
- (CLOUDFLARE.md and plan not yet synced)
give-admin (master):
- 39fdeeb — [Update core] Add CACHING.md, update deployment checklist
- (CLOUDFLARE.md and plan not yet synced)
Workspace tooling (untracked, local only)
-
Cloned
~/Gitlab/givecore/— Standalone givecore clone onmainbranch for core-only work. -
Created
~/Gitlab/sync-core.sh— Pulls givecoremaininto all 3 consumer projects and commits submodule pointer. Supports--pull-onlyand--dry-run. -
Created
~/Gitlab/WORKSPACE.md— Workspace layout, workflow guide, script reference, quick reference commands. -
Moved
switch_db.shfromgive-worker/to~/Gitlab/. Updated path to referencegive-worker/config/settings/secrets.py. Tested working. -
Updated
~/Gitlab/CLAUDE.md— Added Workspace Tools section, updated Core Submodule workflow, added new docs to Key Documentation list, fixed switch_db.sh path.
API integrations
-
Asana API — Fixed
export ASANA_TOKENsyntax in~/.zshrc(had spaces around=). Verified connection as Mohammed Shamma (mshamma@berkeley.edu). Found "Give Future" project (gid: 1213235618376441). Created "Personal" project (gid: 1213251495698324, private). -
Todoist API — Verified connection. Discovered v2 API is deprecated, v1 is current. Listed tasks. Completed "Cyanotype proposal for Marin MOCA" task.
Key decisions
- Asana = work, Todoist = personal (household, family, art, workshops)
- Workspace tools (sync-core.sh, switch_db.sh, WORKSPACE.md) stay uncommitted — they're local workspace files
- Asana "Private to me" projects: truly private unless org has Enterprise plan with Work Access Mode (WAM)
Open items / next steps
- give-worker and give-admin need
sync-core.shrun for CLOUDFLARE.md and caching plan commits - Caching restoration plan has 5 open questions (see plan doc)
- Phase 4 next: deploy Cache Rules to QA, validate with Playwright
- Could populate Asana "Give Future" project with tasks from the caching restoration plan