# 2026-03-05

## Cyber Nail Passport — folder + Notion alignment
- Created SynologyDrive project folder: `/home/kuhnn/SynologyDrive/Portfolio_Projects/Cyber_Nail_Passport/` with modules aligned to portfolio narrative chain.
- Added missing local folders to match Notion:
  - `11_Glossary_CN-EN/`
  - `12_Final_Work/{video,stills,notes}/` + `12_Final_Work/README.md`
- Notion (Foldable Outline page id `3191e487-11d8-8108-88ed-c5dc054edb44`): appended H2 sections:
  - `Future Development（未来发展）` with CN/EN toggles
  - `Final Work（成品展示）` with CN/EN toggles + asset checklist
- Notion API intermittently failed due to DNS resolution error (`Could not resolve host: api.notion.com`) when trying to create a separate “5小时冲刺计划” page; plan text was delivered in chat but not written to Notion yet.

## NPM theme curation id=112 offline download
- Target URL: `https://theme.npm.edu.tw/curation/preview_public/?id=112`
- Discovered site loads content via GraphQL: `POST /CurationApi/graphql` (query `curationDataForPublic(curationId:112)`), and images via `GET /CurationApi/pic?id=<collectionId>&w=<width>&b=1`.
- Python `requests` failed TLS verification (`SSLCertVerificationError: Missing Subject Key Identifier`). Switched downloader to use `curl` for HTTPS.
- Wrote downloader: `/home/kuhnn/.openclaw/workspace/tools/npm_curation_dl.py` (curl-based). Output dir:
  - `/home/kuhnn/SynologyDrive/NPM_theme_curation/id_112/`
  - `meta/curationDataForPublic.json`, `article.md`, `images/*.jpg`
- Download run started in background session (ember-cloud pid 51682); images were being saved under `id_112/images/`.
