Constraint: Current deployment expects the homepage on port 2000 and project cards should reflect the latest showcased repos
Rejected: Leave placeholder project seeds and old port default | mismatched with current runtime and presentation
Confidence: high
Scope-risk: narrow
Directive: Keep project seed paths stable with synced static asset filenames and revisit only when automated asset naming lands
Tested: npm run build; docker compose config
Not-tested: Live container restart against production host
Constraint: Static images need to come from remote sources before log sync and build
Rejected: Per-file source mapping | directory-grouped manifests are easier to maintain
Confidence: high
Scope-risk: narrow
Directive: Prefer grouped target_dir manifests and keep page-facing paths stable
Tested: npm run assets:sync; npm run build; bash -n scripts/deploy-homepage.sh; npx tsc --noEmit --pretty false --project tsconfig.json
Not-tested: Real Seafile download against production URLs
Use the project root as the anchor so the homepage sticker gallery survives Astro build and still randomizes from public/images/gallery.
Constraint: Keep behavior unchanged except for build-time discovery.
Rejected: import.meta.url-based directory lookup | it failed in production build.
Confidence: high
Scope-risk: narrow
Directive: Preserve the gallery scan as a static build-time concern unless the deployment model changes.
Tested: npm run build; verified dist/index.html contains corner-gallery and gallery image paths
Not-tested: browser repaint timing in a live session