- .gitea/workflows/ci.yml runs pnpm typecheck on the already-registered
forge-runner on push/PR to main
- scripts/backup-db.sh + a systemd user timer (stock-app-backup.timer, daily)
pg_dump the stocklist Postgres container to ~/backups, pruned to 14 days
- Add stocks table (server/db) with list/get/add/update/delete actions, scoped
per user, backing both the chat agent and the /stocks UI via
useActionQuery/useActionMutation
- Add mobile-first /stocks page (shadcn table/cards, watchlist, search) and
wire it into the sidebar, navigation state, and view-screen context
- Install the platform's Claude Agent SDK harness (server/plugins,
server/routes/api/claude-agent) so the app agent runs on the platform's own
Claude subscription instead of the Builder.io gateway; fix the vendored
turn.post.ts route to resolve the session and wrap it in
runWithRequestContext, since custom /api/ routes aren't auto-wrapped in
request context the way /_agent-native/actions/* are
- Add shadcn table/badge/dialog/select components (Tabler icons, not lucide)