commit
bc02d72576
64 files changed
+9366
No files matched your search
@@ -0,0 +1,34 @@
|
||||
# Implementation Decisions (Working Defaults)
|
||||
|
||||
These defaults unblock implementation. Replace them when final production decisions are
|
||||
made.
|
||||
|
||||
## Platform and Routing
|
||||
|
||||
- Public site target: Cloudflare Pages.
|
||||
- Internal/admin target: Cloudflare Tunnel to a private origin.
|
||||
- Edge policy: default deny for `/admin` in public traffic; allow only trusted network.
|
||||
|
||||
## Media Storage and Privacy
|
||||
|
||||
- Public assets must be scrubbed before publication.
|
||||
- Default metadata policy: remove EXIF/IPTC/XMP from public files.
|
||||
- Admin-private metadata may include location/time fields for curation workflows.
|
||||
|
||||
## AI Vision Layer
|
||||
|
||||
- Provider contract is `VisionProvider` with a common result schema.
|
||||
- Default provider in local development: mock provider (no external key required).
|
||||
- Fallback behavior: if provider fails, ingestion continues with manual-tagging state.
|
||||
|
||||
## Taxonomy and Classification
|
||||
|
||||
- Shared tags remain free-form for now, but collection values are fixed in
|
||||
`src/types/gallery.ts`.
|
||||
- Suggested tags are reviewed by user confirmation before publishing.
|
||||
|
||||
## Tooling and CI
|
||||
|
||||
- Node LTS target: 22.
|
||||
- Quality gate: typecheck + lint + test + build.
|
||||
- CI provider: GitHub Actions.
|
||||
Reference in new issue
Block a user