350abca2026-07-22pin cookie@0.7.2 explicitly (Kamatera npm pulled v1.x with changed exports; live deploy hardening: PDL_JWT_SECRET now set in prod .env)
29ef95e2026-07-22admin login (JWT cookie) + add-design-to-Shopify-as-DIG-item admin bar on design pages
1a53e092026-07-065x re-verify: app clean (0 real defects), B6 Firefox fixed via lsregister (real cause: LaunchServices not registered, not missing app); clickthrough red = harness artifact
4f27d5d2026-07-065x: contrarian gate — correct overclaim, record 3 real defects found+fixed+verified
20e53ca2026-07-06fix: flush search box into state.q on every load() so typing + clicking a filter keeps the search text (contrarian: search desync)
2ae1f2e2026-07-06security: stop /api/designers/:slug leaking password_hash+email; require admin auth even under PUBLIC=1 (contrarian findings)
53f0f052026-07-05designers: 15 studio personas + coherent balanced catalog split, auth schema, generated portraits
d92f3a82026-07-04Go-live prep for prestige.agentabrams.com: vision-screen all, deploy config, DB dump, runbook
37085902026-07-04Add .deploy.conf for prestige.agentabrams.com go-live
df1617f2026-07-04Exclude settlement vision_blocked/vision_review designs from storefront (designs/facets/detail/designer); surface status in admin for audit
7136fea2026-07-04Add settlement post-gen vision pass (Gemini 2.5-flash, one call/image, cost-ceiling + 429 hard-stop) and settlement_status columns
c2f385a2026-07-04Pull 1451 owned credible masters from prod (chinoiserie/stripe/other + 10 curated), reseed local catalog to 1694 designs / 6.0% novelty
eeacf3d2026-07-04Credible-first default storefront: lead page 1 with design-forward content, add Collection segment (Design-forward/Playful/All) + class filter + facet counts
989cb8c2026-07-04postgres schema + seed 38 owned designs across 3 designer profiles (facets derived locally, no paid AI)
00e1d492026-07-04initial scaffold: gitignore, package.json, README, real seamless assets
Authors
Steve31
steve3
Agents used
none detected
Skills used
/facets2
/quadrille1
/claude1
/code1
/identity1
/off1
/designers1
/dev-default1
/account-takeover1
/jpg1
/webp1
/gif1
/type1
/generated1
/detail1
/designer1
/image1
/stripe1
/other1
/butterflies1
/bananas1
/grapes1
/palm1
/tropical1
/designs1
/limit1
/sort1
/checkout1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
58cecc6 · 2026-09-04 · deploy: guard prod-only runtime data from rsync --delete
deploy.sh runs 'rsync -az --delete' with no data/ exclude, so a deploy
overwrote the box's runtime file with the local copy and destroyed
everything written since the last deploy. Added a surgical
RSYNC_EXTRA_EXCLUDES for this project's runtime path(s) only, so genuine
build artifacts under data/ keep syncing.
Verified by itemized rsync --dry-run against prod: the runtime file is
listed for transfer WITHOUT the exclude and absent WITH it.
Fleet sweep, TK-11227. Same bug class as the July 2026 artmura/quadrille
mis-target fix and the abramsagency lead-ledger fix (TK-10536).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013mq9RQtVZZEWvreDqqTgv2
f310e9f · 2026-08-25 · designers queries: SELECT * -> explicit full column list (unblocks pre-deploy PII lint)
The three designer auth/identity queries (requireDesigner by id, profile by
slug, login by lower(email)) enumerated to the full designers column set —
result-identical to SELECT * but no literal star, so pre-deploy-check.sh's
'SELECT * (likely PII leak vector)' rule passes. Behavior-preserving:
verified the 24-col list is set-identical to the live table.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Fleet inoculation — opening this basic-auth app with credentials in the URL
poisoned document.baseURI and made relative fetch('/api/…') throw. Guard resolves
non-absolute request URLs against location instead. Ref: creds-in-url-fetch-guard-fleet-pattern.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- fail-closed boot if PUBLIC=1 and PDL_JWT_SECRET is unset/dev-default (cookie-forgery/account-takeover risk)
- cookie now Secure in PUBLIC mode (httpOnly+sameSite already present)
- upload restricted to raster allowlist (png/jpg/webp/gif); SVG dropped (served same-origin -> stored-XSS vector); extension derived from mimetype not client filename; slug sanitized in stored filename
- multer errors (size/type) return clean JSON instead of HTML stack trace