Spaces:
Runtime error
Runtime error
|
Download docs/PHASE0.md from firebird-technologies/NoteStack-Test: direct link, hf CLI and curl.
- Browser
- Download file 3.34 kB
-
https://huggingface.co/spaces/firebird-technologies/NoteStack-Test/resolve/b612dd54741d51131c693617b4cc8350cc7fc4db/docs/PHASE0.md
- Command line
-
hf download hf://spaces/firebird-technologies/NoteStack-Test@b612dd54741d51131c693617b4cc8350cc7fc4db/docs/PHASE0.md
-
curl -L -o PHASE0.md https://huggingface.co/spaces/firebird-technologies/NoteStack-Test/resolve/b612dd54741d51131c693617b4cc8350cc7fc4db/docs/PHASE0.md
3.34 kB
Phase 0: Foundations task list
Legend: [x] done in this scaffold, [ ] open
Repo and infra
- Monorepo layout:
backend/,frontend/,renderer/,docs/ - docker-compose: api, worker, postgres, minio (local R2 stand-in), renderer, frontend
-
.env.examplecovering every service - CI: backend lint + tests (with a Postgres service), frontend typecheck + build, renderer typecheck
- Production deploy target (Fly, Render or DO App Platform) and R2 bucket + custom domain
- Sentry (api, worker, frontend)
Backend core
- Settings (
app/config.py), DB session, Alembic initial migration - Full data model from design doc Section 4
- Health endpoint, CORS, request id logging
- Postgres job queue (SKIP LOCKED claims, retries with backoff, stale recovery) + SSE progress
- Scheduled tasks in the worker behind advisory locks
- Usage metering table and helper (
record_usage)
Auth (mirrors blog2video)
- JWT access/refresh with token_version revocation
- Google sign-in (ID token verify)
- Email signup with 6 digit code, password login, forgot password
-
/me, logout (revoke), delete account (soft delete) - Workspace auto-created on first login
- MCP OAuth 2.1 bridge (Phase 4)
Email (Resend)
-
EmailServiceoverResendEmailProvider, console provider for local dev - Templates: verification code, password reset, welcome, job finished, job failed alert
- Signed unsubscribe link +
/api/unsubscribe - Update email campaign tables + hourly batch sender loop
Storage (Cloudflare R2)
- S3 client against R2 endpoint, key helpers, put/get/delete/head
- Presigned upload flow (start, direct PUT, complete) and presigned read redirect
- TTS cache key helper
- Lifecycle rule on R2 for
tmp/prefix (set in Cloudflare dashboard)
LLM (agnostic, Z.ai first)
-
dspy.LMfactory from env, Z.ai defaults - File system corpus in R2 with manifest sync (
app/corpus.py) - Research agent: list/search/read tools, verified line citations, live step streaming
- Signatures + Pydantic outputs for CleanAndSegment, ResearchArchive, BuildVoiceProfile, stubs for the rest
- Em dash stripping post-processor
- Dev sets and first optimization run (Phase 1)
Billing
- Three tiers defined in code,
BILLING_ENABLEDflag,/api/billing/plans,/api/billing/me - Stripe checkout + webhook when billing turns on
Frontend
- Design tokens (black, #217cff, white only), fonts
- Night sky starfield with twinkling sparkles, reduced motion fallback
- Custom SVG icon set (single stroke weight)
- Logo slot (white tile, black silhouette placeholder)
- Landing page with "Paste your Substack URL" CTA
- Pricing section and
/pricing - Blog:
/blogs,/blogs/:slug, typedblogPosts.ts - Auth page: Google button + email code flow + password login
- App shell: Mission Control, sidebar with themed icons and plain labels
- Real product demo video on landing (replace placeholder)
Renderer
- Remotion project with shared props schema (zod), ShortVertical and QuoteCard compositions
-
POST /renderservice that renders and uploads to a presigned R2 URL, progress callbacks - ExplainerLong and AudiogramSquare compositions (Phase 2)