ordinarthur
adf1c727b8
add migration 0008 to drizzle journal
...
Build & Deploy / deploy (push) Successful in 1m32s
The migration file existed but was missing from the _journal.json
registry, so the Drizzle migrator skipped it.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 08:20:13 +02:00
ordinarthur
a1eeca1236
split meds_taken into morning/evening doses
...
Build & Deploy / deploy (push) Successful in 1m30s
Arthur has to take his meds once in the morning and once in the evening,
so the daily check-in now tracks both doses independently. The dashboard
shows two sliders (Matin / Soir), the API toggle accepts a slot, and the
AI toggle_daily_checkin function takes an optional slot argument so the
LLM can target the right dose when the user specifies a moment.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:24:36 +02:00
ordinarthur
810575221f
add bearer token modal when auth is missing
...
Build & Deploy / deploy (push) Successful in 1m41s
Modal automatically opens on mount if no token is stored, and reopens
on any 401 from the API via a global "auth-required" event. Token is
persisted in localStorage under "ordinarthur.bearer".
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 17:29:55 +02:00
ordinarthur
8ef642fb0b
fix(api): add express as direct dep (pnpm doesn't hoist transitives)
...
Build & Deploy / deploy (push) Successful in 1m48s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 17:11:57 +02:00
ordinarthur
4cf8df23b5
ci: retrigger after CoreDNS fix
Build & Deploy / deploy (push) Failing after 3m45s
2026-04-16 16:54:45 +02:00
ordinarthur
be01895c92
ci: add kubectl install + idempotent manifest apply (rebours pattern)
...
Build & Deploy / deploy (push) Failing after 1s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 16:50:13 +02:00
ordinarthur
6fdfbab996
add project
2026-04-16 16:23:01 +02:00
ordinarthur
7de7ef16b9
add agenda
2026-04-16 14:20:00 +02:00
ordinarthur
242abdba5d
update guidelines
2026-04-16 12:46:52 +02:00
ordinarthur
22e5ed1a15
add components
2026-04-16 12:45:20 +02:00
ordinarthur
d55a552d2e
add medications
2026-04-16 12:40:40 +02:00
ordinarthur
b71d5c8f47
add magic button
2026-04-16 10:57:26 +02:00
ordinarthur
32f3105bef
pg todo 2
2026-04-16 10:46:57 +02:00
ordinarthur
f851da4677
add pg + todo ok
2026-04-16 10:46:51 +02:00
ordinarthur
9c93e74318
replace Supabase with Postgres + Drizzle ORM
...
- Drop @supabase/supabase-js entirely; add drizzle-orm + postgres (porsager) driver
- New packages/db: schema (pgSchema ordinarthur_os), client factory, migrate runner, drizzle-kit config
- SQL migrations: 0000_init (pgcrypto + schema), 0001_jobs (jobs + job_search_criteria, no RLS)
- Rewrite apps/api db module with DI symbols DB/DB_HANDLE + @InjectDb() decorator
- Rewrite jobs.service.ts with Drizzle queries (upsert via onConflictDoUpdate, arrayOverlaps for stack filter)
- Replace SUPABASE_* env vars with DATABASE_URL in env config + .env.example
- Add docker-compose.yml (Postgres 16-alpine, dev only)
- Add deploy/k8s/postgres.yaml (StatefulSet + PVC), migrate.job.yaml, updated secrets.template.yaml
- Update all docs (README, PLAN, ARCHITECTURE, CLAUDE.md, AGENTS.md, packages/db/README.md)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 10:15:34 +02:00
ordinarthur
eb430b59e6
add jobs pages
2026-04-15 18:50:50 +02:00
ordinarthur
bc0c15873f
init
2026-04-15 16:41:19 +02:00