Initialize eng-pad-server with project documentation

- README.md: project overview, quick start, build commands
- CLAUDE.md: AI dev context, source tree, key conventions
- ARCHITECTURE.md: full system spec covering data model, auth
  (password + FIDO2/U2F), gRPC sync API, REST API, SVG/JPG/PDF
  rendering, web UI, configuration, deployment, security
- PROJECT_PLAN.md: 11 phases with discrete checkboxable steps
- PROGRESS.md: decision log and completion tracking

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 19:42:38 -07:00
commit 0cce04b5b8
5 changed files with 672 additions and 0 deletions

27
PROGRESS.md Normal file
View File

@@ -0,0 +1,27 @@
# PROGRESS.md — eng-pad-server Implementation Progress
This file tracks completed work and decisions. Updated after every step.
See PROJECT_PLAN.md for the full step list.
## Completed
_(none yet)_
## In Progress
Phase 0: Project Setup
## Decisions
- **Language**: Go (Metacircular standard)
- **Database**: SQLite via `modernc.org/sqlite` (pure Go, no CGo)
- **Auth**: Argon2id passwords + FIDO2/U2F via `go-webauthn/webauthn`
- **gRPC auth**: username/password in metadata per-request (no tokens)
- **Web auth**: password → bearer token in session cookie
- **Rendering**: SVG for web viewing, JPG/PDF for export
- **Sync model**: full notebook replacement (upsert), no incremental sync
- **Share links**: 32-byte random token, optional expiry, scoped to notebook
- **Grid**: not rendered server-side (tablet writing aid only)
- **Coordinate system**: 300 DPI canonical, scaled to 72 DPI for SVG/PDF
- **FIDO2/U2F**: web UI login only, not gRPC sync
- **Server is read-only**: mirrors tablet exactly, no content modification