The Week in Review
✓ done ◔ progress blank = no movement
- Created a new app at optouts.coefficient.org
- Live behind hub Google auth at /opt-outs; public URL and password gate retired
- Skye shipped the service-binding proxy and tile (verified, including upload POSTs and the cookie collision check: none, hub uses tools_session). App redeployed with SCRUB_TRUST_PROXY_AUTH=1, a new env flag that skips the app's own password page; flag is off by default so Walker's original gate is unchanged anywhere else the app runs. workers_dev and preview URLs disabled: the hub's Google sign-in is now the only way in (public URL 404s, /opt-outs/healthz 302s to hub sign-in when anonymous). Single sign-in end to end, per house auth standard for internal apps.
- Deployed live to Cloudflare Containers as jessica-scrub-app
- Walker's scrub app (Flask + DuckDB Docker image) deployed code-unmodified behind a thin Worker. Live at https://jessica-scrub-app.ryan-b48.workers.dev behind a password gate; AWS credentials bound from the account Secrets Store (coefficientp2p key pair), nothing in the bundle. Verified against the live bucket: login flow, org freshness table (4 orgs). Ryan approved via Signal. Skye requested (thread 1a0a5d0ae266c84f): tools hub tile plus mounting behind the hub's Google auth at /opt-outs via service-binding proxy; the public workers.dev URL gets disabled after that cutover. Known limits: uploads capped around 100-200 MB by Workers; container cold start ~15s after 30 min idle.
NextAutomating uploads on a cronjob type
- Promoted from intake (submitted 9/16/2026 by Jessica (app)). Why: Product and tool status has lived in a single-page HTML roadmap, freeform emails, and meeting prep that gets rebuilt by hand. Internal tools on the Tools Staging Dashboard have no consistent log or lifecycle tracking, and new ideas arrive without a structured intake. A data-driven app gives one place to log every product and tool, assign owners, track lifecycle stage, and automatically produce the content shared on PUSH and at the bimonthly product meetings, so that reporting stops being manual work.
- 9/15 Run through was interrupted by Opt-Out Scrubbing; reschedule to 9/16
NextMilestone by EOW (9/14) - github organized and at least one item handed over to Walker
- We own the data now - nothing is stuck in DisplayR
NextMilestone by 9/25 - all standard formatted data in Data Ocean
NextTrim down the feature set and focus on the MVP
- Deployed the AI Integration and ingested user feedback
NextImage gallery, derive data points; working session with Ryan