"subject":"Clarté ADHD self-assessment hosted at me.nech.pl/tdah/ + /adhd/ (ex GitHub Pages)",
"completedAt":"2026-09-21",
"learnings":"cp -r propagates source perms (Diag_ADHD ships 600) through public/ → out/ → nginx 403 as www-data can't read; fix modes at the source AND the build artifact. Old GitHub Pages deployments retire via a noindex meta-refresh stub kept in GH Actions' static-site/."
},
{
"id":"clarte-2",
"subject":"Couple subsite live (auth'd, offline, opt-out wiring) + Clarté persistence/offline",
"completedAt":"2026-09-21",
"learnings":"POC apps silently lose all answers on reload unless persistence is shimmied into their state object at init AND every mutation point; two instruments restart item numbering per section, so bare-index storage keys overwrite 69/190 answers — prefix section-repeats. Static-site PII gating: nginx basic auth on the location block, htpasswd needs a user:hash line (openssl passwd -apr1 emits hash only)."