feat(web): step 8 — run page, rules ui, better-auth gating
4 months ago
Authored
grim- db: createAuth (better-auth + drizzle adapter, uuidv7 ids, forge_identities
hook); api mounts /api/auth/* with credentialed cors
- web: vite proxy for /api/auth, auth client, session server fn
(getStartContext), root beforeLoad gate (open when auth env absent),
/login page, signOut wired in topbar
- web: /runs/$runId — step cards with rule evidence, verdict/status chips,
actions list; /rules — per-repo rule config CRUD (enabled toggle + validated
json config), repo picker; nav entries
- contracts: per-rule config schemas + RULE_CATALOG (single source; core
imports them)
Parent2400bdd
39 files changed
- DECISIONS.md+30−0
- VERIFICATION-QUEUE.md+18−0
- all-summaries.md+43−0
- apps/api/src/env.ts+3−1
- apps/api/src/index.ts+31−1
- apps/api/src/webhooks.integration.test.ts+1−0
- apps/web/package.json+2−0
- apps/web/src/components/auth/login-page.tsx+42−0
apps/web/src/components/layouts/dashboard-topbar.tsx+13−1apps/web/src/components/rules/rule-config-form.tsx+93−0apps/web/src/components/rules/rules-page.tsx+68−0apps/web/src/components/runs/evidence-view.tsx+13−0apps/web/src/components/runs/run-page.tsx+115−0apps/web/src/components/runs/step-card.tsx+35−0apps/web/src/lib/auth-client.ts+9−0apps/web/src/lib/auth.functions.ts+30−0apps/web/src/lib/rules.functions.ts+76−0apps/web/src/lib/rules.query.ts+24−0apps/web/src/lib/runs.functions.ts+76−0apps/web/src/lib/runs.query.ts+15−0apps/web/src/lib/server/auth.ts+29−0apps/web/src/routes/__root.tsx+16−0apps/web/src/routes/login.tsx+15−0apps/web/src/routes/rules.tsx+15−0apps/web/src/routes/runs.$runId.tsx+15−0apps/web/vite.config.ts+7−0bun.lock+48−1packages/contracts/src/rules.ts+99−0packages/core/src/rules/account-age.ts+2−3packages/core/src/rules/crypto-address.ts+2−1packages/core/src/rules/english-only.ts+2−3packages/core/src/rules/honeypot.ts——packages/core/src/rules/max-files-changed.ts+2−3packages/core/src/rules/min-merged-prs.ts+2−3packages/core/src/rules/pr-rate-limit.ts+2−4packages/core/src/rules/profile-readme.ts+2−3packages/db/package.json+1−0packages/db/src/auth.ts+83−0packages/db/src/index.ts+1−0