Land Phase B (DB-backed worker) + marketing site → main#1
Open
Dunya-8a wants to merge 3 commits into
Open
Conversation
…ndoff spec - site/: productionized the friendly Blurple landing page as a standalone static site (no build step). Added favicon + apple-touch-icon (real Inky logo), OG/Twitter social cards, meta description, theme-color; wired dead # links to the repo; copied brand assets; README with deploy + go-live customization notes (domain, Discord-install URL, hosted-signup). Deploy to any static host. - docs/planning/console-build-handoff.md: self-contained spec for another session to build the thin self-host admin console (web app #2) — scope, what's already built (db + dbConfigSource + hot-reload), what's left (PAT-tenant, app wiring, admin API, UI), sequence + acceptance criteria. Explicitly excludes the full Phase 6 SaaS.
Lets the hosted worker read its Config from Postgres and hot-reload it on a poll, so schedule/setting changes take effect without a redeploy. Self-hosting is unchanged (inky serve --config, file source, no Postgres). - db: relax the tenant store for PAT tenants — upsert/loadTenantConfigByOrg now accept a tenant with no GitHub App (App tenants write an installation row, PAT tenants write none and auth falls back to env GITHUB_TOKEN; the PAT is never stored). Adds @inky/db/schema export. - core: extract the serve orchestration into runServe() (@inky/core/serve), taking an optional config-reload watch; the inky serve CLI now routes through it (file source), behavior-preserved. - apps/worker (new): depends on core + db, builds dbConfigSource(db, org) and hands its watch to runServe; plus inky-worker-seed to populate/update the DB row (the interim admin write path). README documents the Render cutover. Tests: db 23 (+2 PAT round-trip/flip), core 204 (+4 runServe), worker 6 (new). Full workspace typechecks. Render cutover (DATABASE_URL, migrate, seed, switch start command) is the operator step — see apps/worker/README.md.
…y fixes Pricing: hosted Starter/Pro CTAs are now 'Join the waitlist' (early-access framing) since the hosted tier isn't live — and a waitlist is the demand signal that gates Phase 6. Self-host keeps the real 'View on GitHub'. Mobile: small-screen spacing + type-scale polish (<=600px) on top of the existing per-section stacking queries. Accessibility (static WCAG 2.1 AA audit — browser/pa11y tooling unavailable this session): - Add a skip-to-content link + a <main> landmark. - aria-hidden on all 14 decorative SVGs (mascot, brand tiles, source logos) to cut SR noise. - Darken --faint #929AAB -> #677085 (was ~2.9:1; now ~5:1) so captions/timestamps pass AA. - 'soon' source chips: de-emphasize the (decorative) logo only instead of fading the whole chip via opacity, so all text keeps full AA contrast. Verified OK already: status uses dot+label (not color alone), focus-visible outlines, prefers-reduced-motion disables animation, single h1 + ordered headings, blurple-on-white ~4.5:1.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lands the remaining outstanding work on
mainas a clean fast-forward (no conflicts):d1edf16— marketing landing page (site/+docs/planning/console-build-handoff.md)193fbc0— Phase B: DB-backed no-redeploy worker + PAT-tenant config (apps/worker,runServeextraction,@inky/dbPAT relaxation)aca5289— site: waitlist + mobile + WCAG AA passDoes this break live Inky? No.
site:commits aresite/+ docs only — zero bot impact.apps/workeris new and not run —render.yaml's start command is unchanged (cli.js serve --config /etc/secrets/inky.config.json, file source). ThedbPAT change isn't on the live serve path, and therunServerefactor is behavior-preserving (tested).apps/worker/README.md).maintriggers a Render redeploy — safe/behavior-preserving, but it is a deploy.Tests
db 23 · core 204 · worker 6 · ingest 7 = 240, 0 fail; full workspace typechecks.Not included
The untracked
apps/console/WIP is not in this PR — left to you.